unrecognized selector sent to instance 問題快速定位的方法

今天在網上看到一個DEBUG的方法,可能以後用的上,這裏做下記錄。如果想這理解這種調試方法可以參考《Effective Objective-C 2.0》第二章的講解的對象、消息、運行期,會有幫助。


開發中常見的一類崩潰錯誤是遇到:unrecognized selector sent to instance 0xaxxxx…而backtrace又無法明確說明錯誤在哪行代碼,如何快速定位BUG呢?


有時讀代碼一下很難找到是哪個instance出的問題,這時定製有效的DEBUG斷點是最好的辦法,方法如下:


在Debug菜單中選擇 Breakpoints -> Create Symbolic Breakpoint…


在Symbol中填寫如下方法簽名:
-[NSObject(NSObject) doesNotRecognizeSelector:]


然後再運行復現錯誤時斷點會停在真正導致崩潰的地方。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章