Xcode常用調試技巧

一、異常斷點

作用:可以定位到導致程序異常崩潰的那行代碼。

好處:一些類在不滿足條件時(如數組越界),會拋出異常導致程序崩潰,可在Log中只能顯示異常類型和調用棧的內存地址,很難定位到導致異常的具體代碼,而通過添加異常斷點,可以在程序崩潰時,定位到導致崩潰的異常所在的那行代碼。

使用方法:在XCode左邊視圖中,切到斷點面板,點擊左下角的加號,選擇“Add Exception BreakPoint",就會添加一條異常斷點。

二、條件斷點

作用:當滿足某種條件時,程序才會在斷點處暫停。

好處:這個老話題了,和Eclipse、VS一樣,在特定場合提高調試效率,不用讓程序不斷的在斷點處暫停,可以通過代碼設置一個條件,也可以讓程序忽略斷點多少次,還可以設置在命中斷點時執(zhí)行debug命令。

使用方法:在斷點處右擊,選擇"Edit Breakpoint...",在彈框中設置條件。PS:添加刪除斷點快捷方式:在代碼行處"command+\"

三、運行時變量顯示

作用:在程序運行時,獲取成員對象的值

使用方法:1)通過NSLog()輸出值 ; 2)通過斷點暫停程序,在下面的窗口中,左側可以顯示對象樹的信息,在右側控件臺中通過命令輸出值。"p x"打印輸出變量,"po x"打印輸出對象,“po [xxviewrecursiveDescription]"打印view樹信息。

四、日志輸出

作用:通過在程序中添加NSLog代碼,在控件臺中輸出顯示日志。

注意事項:1)要通過宏可以在發(fā)布版中關閉這些日志輸出,因為它可能會泄漏一些敏感數據,AppStore在審核時,會拒掉輸出比較多Log的應用; ?2)可以通過__FILE__, __LINE__, __PRETTY_FUNCTION__, NSStringFromSelector(__cmd)打印出文件名,行號,函數名

五、靜態(tài)分析

作用:通過對代碼靜態(tài)分析,找出代碼潛在的錯誤,如內存泄漏、空引用、未使用函數等。

方法:菜單“Product"->"Analyze"

六、動態(tài)分析

作用:通過Instruments工具跟蹤分析程序運行時的數據

方法:菜單"Product"->"Profile"打開Instruments工具,里面有一系列內存、CPU、I/O等資源跟蹤分析的工具,apple developer網站上有專門的文檔介紹每種工具的使用方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • NSLog,po命令和普通斷點調試相信每個iOS開發(fā)者都會,這里就不作介紹了。 一、Memory Graph Xc...
    wu大維閱讀 12,404評論 16 186
  • 最近在面試,面試過程中問到了一些Xcode常用的調試技巧問題。平常開發(fā)過程中用的還挺順手的,但你要突然讓我說,確實...
    遠0閱讀 668評論 2 8
  • 本文為投稿文章鏈接:http://www.yangshebing.com/2016/10/27/iOS開發(fā)之Xco...
    sfandy閱讀 660評論 0 2
  • 劍未配好,出門已是江湖。 最近一直沒有更新簡書是因為在開發(fā)和測試階段,有任務,沒有進行學習,不過在做任務的時...
    和玨貓閱讀 8,494評論 9 75
  • 少女 文/艾子李 1、 烏麗亞娜一上臺,臺下的男生就都濕了褲子。 這是最后的晚會,所有人都端坐著,等待最后分別,我...
    大故事家閱讀 340評論 0 0

友情鏈接更多精彩內容