在開發App的過程當中,須要反覆的修改和優化咱們的代碼,特別是當程序出現bug,須要快速的找出錯誤的緣由,進行修改,以保證程序的正確執行。web
斷點調試,是最經常使用最簡單的一種調試方式,能夠一步步跟蹤程序執行的流程,獲得變量的值,快速的找到錯誤的緣由。函數
斷點的操做很是簡單,下面經過幾張圖來介紹一下如何添加、刪除、編輯以及使用斷點。優化
設置全局斷點(異常斷點),當遇到錯誤,Debug程序會自動定位到棧底信息,即跳到出錯代碼所在行。spa
設置條件斷點,當知足條件的時候,才觸發斷點,適合用於循環結構中,能夠準確的定位到某次循環。3d
符號斷點能夠中斷指定函數的調用,也能夠定位到出現異常的代碼處,並打印異常信息。調試
在調試的過程當中,常常經過NSLog在控制檯輸出須要的信息。NSLog輸出比較消耗系統資源,輸出的數據也可能會暴露出App裏的保密信息,所在在發佈正式版本以前必須把全部的NSLog輸出都屏蔽掉。code
NSLog除了輸出基本信息,對於結構體也能夠一次性輸出。orm
在程序的調試過程當中,除了經過斷點調試在Xcode下方查看變量的值,也能夠經過NSLog在控制檯輸出想要的信息。使用NSLog輸出須要在運行前就把想要輸出的信息寫好,若是有改變,須要從新編譯運行,效率很是低。對象
下面介紹一種很是簡單實用的方式,在程序運行的過程當中,經過在控制檯輸入相應的指令,能夠快速的打印輸出須要的信息,很是的方便。blog
動態輸出的指令有兩個,p和po,與NSLog用法相似,p用於打印輸出普通訊息,po用於打印輸出對象信息。使用動態指令須要與斷點配合使用,這樣就可以動態的打印輸出程序執行到某個斷點時的信息。