lldb调试技巧

0x01  断点 Breakpoint

    1)、  条件断点,比如在一个循环中,指定到具体哪一次条件时添加断点。

1  for (NSInteger i = 0; i < 15; i ++) {
2         NSLog(@"---- times:%@",@(i));
3     }

如上述代码 让i 为8的时候断点停止 则可以编辑断点,这个时候当循环到8的时候断点就会停下来;

条件断点加打印 可以在编辑断点的时候增加一个Action 比如执行到i==8的时候 打印一下i的值

代码输出

 1 2016-03-21 16:49:54.628 FmdbTest[2547:1694570] ---- times:0
 2 2016-03-21 16:49:54.640 FmdbTest[2547:1694570] ---- times:1
 3 2016-03-21 16:49:54.650 FmdbTest[2547:1694570] ---- times:2
 4 2016-03-21 16:49:54.660 FmdbTest[2547:1694570] ---- times:3
 5 2016-03-21 16:49:54.671 FmdbTest[2547:1694570] ---- times:4
 6 2016-03-21 16:49:54.681 FmdbTest[2547:1694570] ---- times:5
 7 2016-03-21 16:49:54.693 FmdbTest[2547:1694570] ---- times:6
 8 2016-03-21 16:49:54.706 FmdbTest[2547:1694570] ---- times:7
 9 (NSInteger) $9 = 8
10 2016-03-21 16:50:03.806 FmdbTest[2547:1694570] ---- times:8
11 2016-03-21 16:50:03.807 FmdbTest[2547:1694570] ---- times:9
12 2016-03-21 16:50:03.807 FmdbTest[2547:1694570] ---- times:10
13 2016-03-21 16:50:03.808 FmdbTest[2547:1694570] ---- times:11
14 2016-03-21 16:50:03.808 FmdbTest[2547:1694570] ---- times:12
15 2016-03-21 16:50:03.808 FmdbTest[2547:1694570] ---- times:13
16 2016-03-21 16:50:03.808 FmdbTest[2547:1694570] ---- times:14

2)、条件断点,忽略循环前N次循环,到第N + 1次的时候停止 可以设置ignore 为N

如上述设置可以让断点在i 等于8的时候停止

3)、符号断点 Symbolic Breakpoint 一般符号断点可以在你指定的[类名 方法名]时中断执行

如下面设置符号断点,在整个工程里执行到所有NSLog的时候停止

原文地址:https://www.cnblogs.com/yanyan1119/p/5302635.html