有時候我們的程式不知道跑到哪個地方就 crash 了,而 crash 又很難重制。保守的做法是在系統抛出異常之前設定斷點,具體來說是在 objc_exception_throw處設定斷點。設定步驟為:首先在 XCode 按 CMD + 6,進入斷點管理視窗;然後點選右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol 一欄輸入:objc_exception_throw,然後點選 done,完成。 這樣在 Debug 模式下,如果程式即将抛出異常,就能在抛出異常處中斷了。比如在前面的代碼中,我讓 [firstObjctcrashTest]; 抛出異常。在 objc_exception_throw 處設定斷點之後,程式就能在該代碼處中斷了,我們進而知道代碼在什麼地方出問題了。