Xcode断点调试

419 阅读2分钟

 断点调试是任何开发中必不可少重要功能,Xcode中有非常强大的断点调试,在此记录一下。 

1.添加自定义断点

对于自定义的断点可以修改一些设置

Condition: 为断点添加一些条件

for (int i = 0; i < 10; i++) {
       NSLog(@"%d",i);}

在执行这段循环代码的时候,如果想要当i>3时才触发断点,可以在Condition输入框内加入i>3这个条件设置。

Ignore:忽略指定次数的断点,假如输入5,那第1次走到断点的时候并不会触发,第6次走到该处才会触发断点。

Action:为断点添加行为

其中可以添加的行为一共有上图的这6种。 AppleScript和Shell Command两种行为类似,都是当断点触发的时候,执行设置的脚本;Log Message是Xcode将断点信息输出到控制台;Debugger Command可以设置LLDB工具的调试指令,比如po指令等;sound可以为断点设置一个声音,当触发断点是播放这个声音。

2.添加全局断点

全局断点共有上面这7中,其中

Swift Error Breakpoint:是swift中常用的断点,添加这个断点后,当程序执行到swift中的throw抛出异常的地方会触发断点

Exception Breakpoint:用来捕捉程序中的异常。一般程序奔溃在main()函数中,如果设置这个断点,Xcode会定在异常发生的地方

Symbolic Breakpoint:符号断点

可以在Symbol中输入方法名,当每次执行该方法时会触发这个断点

OpenGL ES Error Breakpoint:功能如其名,当OpenGL ES发生错误的时候会触发该断点

Runtime Issue Breakpoint:运行时错误断点,当运行时发生错误时候出发该断点,程序暂停在错误处

Constraint Error Breakpoint:当设置的约束出现错误时会触发该断点

Test Failure Breakpoint:测试出现错误是会触发该断点