1. 程式人生 > >iOS開發何如在除錯的時候輕鬆找到程式在哪裡崩潰

iOS開發何如在除錯的時候輕鬆找到程式在哪裡崩潰

起因     

  有不少人在評論發一些崩潰資訊,問我程式怎麼回事,其實如果你知道了程式崩潰在哪行程式碼崩潰了,就很容易定位問題了。android開發看崩潰log就能看到具體哪行程式碼出問題,那在iOS開發怎麼快速定位到具體哪行程式碼崩潰呢。

步驟1

在xcode新增一個通用斷點就行了。方法如下:

點選專案導航斷點那,如圖


步驟2

點選+號:


一步步按上面圖完成操作。

再執行程式


自動就斷點到這裡來了,

log資訊是:

  1. 2013-05-20 11:14:19.635 GestureRecognizer[1491:c07] -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0  
  2. 2013-05-20 11:15:21.148 GestureRecognizer[1491:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0'  

這樣很簡單就能發現程式崩潰是因為value沒有 isEqualToString方法。

如果我沒加上面這個通用的斷點,那程式會直接斷點到main函式去。

PS:這個方法只能絕大部分這樣的崩潰。有少部分錯誤是斷不到了。