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的时候停止