2010-05-14 82 views
0

我現在可以解決這個問題,但假設其他人可能有同樣的問題,我反正在這裏發佈「解決方案」。 當使用「構建和調試」在XCode中構建項目並運行它時,iPhone模擬器將退出而不將錯誤消息輸出到控制檯。例如,我會訪問一個無效的指針,它會終止而不打印程序接收到的信號:「EXC_BAD_ACCESS」。iPhone SDK 3.0不顯示錯誤消息

我曾經使用SDK 2.X,從來沒有經歷過這個,現在我切換到3.2,這個bug完全爛透了。不管怎麼說,如果你想調用它,「解決方案」就是在你訪問無效指針的那一行設置一個斷點,打開調試器,逐步完成並在下一個循環步驟中進入。之後按繼續,然後關閉調試器和模擬器。 然後使用「調試器控制檯」上的「構建和調試」按鈕來運行項目已得到修復,即當模擬器崩潰時,現在打印「EXC_BAD_ACCESS」,就像它在SDK 2.X中使用的一樣。

+0

其實,這是一個問題:也許有人可以向我解釋爲什麼會發生這種情況 – 2010-05-14 08:58:47

+1

你能解釋一下你的問題是什麼嗎?這聽起來像你發佈了一些問題的答案,但我不確定問題是什麼。 – 2010-05-14 09:03:36

回答

1

Xcode將「正常」繼續處理未處理的異常,並在調試器控制檯中顯示相應的消息。但是,如果你已經設置了「Run-> Stop on Objective-C Exceptions」,它將首先在gdb中暫停,然後顯示消息。我會想象你可能在某個時候設置了這個斷點 - 在.gdbinit中可以設置幾個相關的斷點,它們會產生類似的效果。

+0

嗨謝謝,但這不是造成它的原因。我曾嘗試在「停止對Objective-C異常」的情況下運行它,並且在兩種情況下都很好地打印出「EXC_BAD_ACCESS」!所以問題依然存在:爲什麼在全新安裝SDK 3.2之後不這麼做?爲什麼我必須使用斷點來打印消息?這聽起來像是一個錯誤,但我可能錯過了一些東西!非常感謝您的幫助!乾杯,馬特 – 2011-04-12 15:32:03