Xcode常用调试技巧

一、异常断点

作用:可以定位到导致程序异常崩溃的那行代码。

好处:一些类在不满足条件时(如数组越界),会抛出异常导致程序崩溃,可在Log中只能显示异常类型和调用栈的内存地址,很难定位到导致异常的具体代码,而通过添加异常断点,可以在程序崩溃时,定位到导致崩溃的异常所在的那行代码。

使用方法:在XCode左边视图中,切到断点面板,点击左下角的加号,选择“Add Exception BreakPoint",就会添加一条异常断点。

二、条件断点

作用:当满足某种条件时,程序才会在断点处暂停。

好处:这个老话题了,和Eclipse、VS一样,在特定场合提高调试效率,不用让程序不断的在断点处暂停,可以通过代码设置一个条件,也可以让程序忽略断点多少次,还可以设置在命中断点时执行debug命令。

使用方法:在断点处右击,选择"Edit Breakpoint...",在弹框中设置条件。PS:添加删除断点快捷方式:在代码行处"command+\"

三、运行时变量显示

作用:在程序运行时,获取成员对象的值

使用方法:1)通过NSLog()输出值 ; 2)通过断点暂停程序,在下面的窗口中,左侧可以显示对象树的信息,在右侧控件台中通过命令输出值。"p x"打印输出变量,"po x"打印输出对象,“po [xxviewrecursiveDescription]"打印view树信息。

四、日志输出

作用:通过在程序中添加NSLog代码,在控件台中输出显示日志。

注意事项:1)要通过宏可以在发布版中关闭这些日志输出,因为它可能会泄漏一些敏感数据,AppStore在审核时,会拒掉输出比较多Log的应用;  2)可以通过__FILE__, __LINE__, __PRETTY_FUNCTION__, NSStringFromSelector(__cmd)打印出文件名,行号,函数名

五、静态分析

作用:通过对代码静态分析,找出代码潜在的错误,如内存泄漏、空引用、未使用函数等。

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

六、动态分析

作用:通过Instruments工具跟踪分析程序运行时的数据

方法:菜单"Product"->"Profile"打开Instruments工具,里面有一系列内存、CPU、I/O等资源跟踪分析的工具,apple developer网站上有专门的文档介绍每种工具的使用方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NSLog,po命令和普通断点调试相信每个iOS开发者都会,这里就不作介绍了。 一、Memory Graph Xc...
    wu大维阅读 12,303评论 16 187
  • 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题。平常开发过程中用的还挺顺手的,但你要突然让我说,确实...
    远0阅读 648评论 2 8
  • 本文为投稿文章链接:http://www.yangshebing.com/2016/10/27/iOS开发之Xco...
    sfandy阅读 595评论 0 2
  • 剑未配好,出门已是江湖。 最近一直没有更新简书是因为在开发和测试阶段,有任务,没有进行学习,不过在做任务的时...
    和珏猫阅读 8,314评论 9 75
  • 少女 文/艾子李 1、 乌丽亚娜一上台,台下的男生就都湿了裤子。 这是最后的晚会,所有人都端坐着,等待最后分别,我...
    大故事家阅读 301评论 0 0