2015-04-06 23 views
30

當我啓用所有例外斷點時,我的應用程序總是停在AppDelegate中,但能夠繼續執行程序,但其非常煩人的原因總是帶我到appdelegate。任何想法爲什麼?啓用所有例外後,始終停在應用程序委託中斷點

enter image description here

+0

這是不是一個真正的問題,但在AppDelegate中的第一件事是在你的應用程序上運行,這可能是爲什麼。 – 2015-04-06 13:43:19

+1

1. lldb窗格中的消息是什麼? 2.只啓用Objective-C斷點。右鍵單擊「所有異常,選擇‘編輯斷點’,更改從彈出的‘所有’,以‘Objective-C的迷糊‘清除所有斷點,退出並重新啓動的Xcode – zaph 2015-04-06 13:54:09

+0

Zaph,1’3.有時代碼。’:在LLDB窗格中顯示任何消息,只是(LLDB),2:?!是啊改爲objc工作,不知道爲什麼你可以將其添加爲答案,如果你願意,THX你 – Godfather 2015-04-06 14:09:26

回答

55

只有使Objective-C的斷點。

要查看導致錯誤添加例外斷點的實際語句:

  1. 從主菜單調試:斷點:創建異常斷點。

  2. 右鍵單擊斷點並將異常設置爲Objective-C。這將忽略其他類型的異常,例如來自C++。部分API使用異常數據,例如Core Data(Apple是Special)。

  3. 添加動作:「po $ arg1」。

運行該應用程序以獲取斷點,並且您將位於導致該異常的行,並且該錯誤消息將位於調試器控制檯中。

Breakpoint example:

+1

It works !!謝謝。 – 2015-06-11 17:20:22

+0

優秀的提示!謝謝。這一直在推動我在幾個項目中的堅果。 – VaporwareWolf 2016-12-06 18:09:00

4

例外在C++代碼共同和正常的。即使正確處理它們,異常斷點也會捕獲每個引發的異常。所以如果你不指定Obj-C,只有你會注意到執行停止在很多看似隨機的地方。我一直在用AVAudioPlayer特別遇到這個問題。

要注意的另一件事是缺少資產。我遇到了另一個提問者,他似乎也遇到了同樣的問題。

Xcode throws an exception in Main() in iOS 8 with 'all exceptions' breakpoint

8

如果您使用斯威夫特,或者你想擁有所有的異常捕獲,你可以改變所有異常的選項,以評估行動後自動繼續。只要找到它在斷點導航,右/ CTRL單擊所有異常斷點編輯: enter image description here

然後檢查選項框: enter image description here

相關問題