開發中常見的一類崩潰錯誤是遇到:unrecognized selector sent to instance 0xaxxxx…而backtrace又無法明確說明錯誤在哪行代碼,如何快速定位BUG呢?
有時讀代碼一下很難找到是哪個instance出的問題,這時定制有效的DEBUG斷點是最好的辦法,方法如下:
在Debug菜單中選擇 Breakpoints -> Create Symbolic Breakpoint…
在Symbol中填寫如下方法簽名:
1
-[NSObject(NSObject) doesNotRecognizeSelector:]
然后再運行復現錯誤時斷點會停在真正導致崩潰的地方。