2009-07-22 47 views
79

,這是由布拉德·拉爾森回答這個 SO問題如何添加一個斷點到objc_exception_throw?

如果添加了兩個斷點,你應該能夠調試這些異常。要做到這一點,請轉到Run |顯示|斷點並創建兩個全局斷點(我在全球範圍內執行這些斷點,因爲它們在我的所有應用程序中非常有用)。第一個應該命名爲「objc_exception_throw」,其位置應該是「libobjc.A.dylib」。第二個應該是「 - [NSException raise]」,它的位置應該是「CoreFoundation」。

現在,如果您開始調試帶有斷點的應用程序,它應該會拋出這些異常。然後,您應該能夠看到調試器中導致異常的事件鏈。

現在在這個答覆我想問我如何添加位置提到?

+0

任何人都有XCode 4的截圖/菜單路徑? – buildsucceeded 2011-09-10 12:19:02

+2

查看Apple Dev論壇上的此主題以獲取有關如何在XCode 4中執行此操作的說明:https://devforums.apple.com/thread/68421 – 2011-10-18 19:12:24

回答

81

我認爲布拉德的回答很清楚;希望這可以幫助,如果你沒有找到清楚。

在Xcode中,從頂部菜單中單擊運行>顯示>斷點。彈出一個新窗口。

在左側菜單中選擇「全局斷點」。在「斷點」欄右側應該有一個框,並帶有「雙擊符號」文本。在此框中單擊並鍵入「objc_exception_throw」。

然後,單擊「位置」列下「objc_exception_throw」旁邊的空白處。將出現一個框供您輸入位置(在本例中爲「libobjc.A.dylib」)。我做了截圖,希望能有所幫助:

alt text

+0

感謝您的非常明確的答案 – 2009-07-23 10:27:00

+0

這真的很有幫助,謝謝// :) – Spanky 2009-11-11 03:08:46

+0

工程很棒。感謝細節。 – 2010-09-22 18:26:55

4

我也想推薦加入+[NSException raise:format:arguments:]斷點,它的位置應該是CoreFoundation

45

在Xcode中4這大斷點可以通過 「+」 按鈕被添加在斷點上部分(⌘+ 6)

enter image description here

6
在Xcode 6

- 從頂部菜單

調試>斷點>創建異常斷點

相關問題