2013-10-15 41 views
8

我有一個爲iOS 7構建的項目,並且迄今爲止工作良好,但在Git合併後,某些設置或某些內容已損壞,並且異常不再輸出到控制檯。因此,控制檯中永遠不會顯示「由於未捕獲的異常終止應用程序」錯誤消息。我已經在設備和模擬器上嘗試過這個項目,同樣的事情。我無法找到這個原因,以及如何解決這個問題,我虛心地尋求你的幫助。Xcode 5沒有打印異常詳細信息

事實:

  • 調試工作並運行,
  • 調試器停止,並強調正確的路線,
  • 所有異常斷點是活躍的,
  • NSLog的命令工作,
  • lldb中的po命令正在工作。

我以前試過尋求幫助嗎?

  • 清潔(包括建立文件夾)和重建項目,
  • 重新啓動的Xcode,
  • 重啓OS X,
  • 重新連接設備,
  • 重啓設備。

我還能做什麼?感謝您的幫助!

+0

你有沒有嘗試過比較git提交找出發生了什麼變化? – neilco

+1

調試器停止後,您是否按下繼續按鈕?根據我的經驗,直到在調試器在異常斷點處停止後按兩次繼續按鈕,纔會打印詳細信息。 – borrrden

+0

我檢查了提交,項目文件中沒有任何更改。只有源代碼文件。 @borrrden,當然我嘗試過。即使在調試停止的情況下也不會改變任何事情,對於異常情況不會輸出到控制檯。 – Legoless

回答

5

我試圖調試自動佈局崩潰時遇到了這個問題。不知道這是否適用於所有情況,但這裏是我的解決方案:

我做了一些狩獵,並通過這一連接傳來:

Investigating NSExceptions with LLDB

這使我惹例外斷點,試圖左右找出問題所在。就我而言,我總是可以找到關於$eax的描述,所以我決定將一個動作添加到斷點,所以我不必每次都調試它。這導致它總是打印$eax沒有斷點,所以它幾乎就像我想要的(打印異常描述,繼續崩潰)。

步驟:

Add an Exception Breakpoint

Edit the breakpoint you just added

Add an action to <code>po $eax</code>, and check "automatically continue after evaluating"

解決目前我有問題,我對這個解決方案(po $ebxpo [NSThread callStackSymbols]等)確定的差異應該解決大多數缺少異常描述的問題。

+0

我會在這裏添加一個棘手的問題,這也將有所幫助。按CTRL點擊,然後進入「移動斷點」,然後「用戶」。它將使用戶特定。 –