9

在 gdb 中,我可以通过“继续 n”跳过下 n 个断点,或者通过“下一个 n”跳过下 n 行。lldb中的等价物是什么?

如果没有,我怎么能在 lldb python 扩展中自己创建它们?我尝试了类似的方法,但是没有用,当我键入添加的命令时,lldb 挂起。

def cc(debugger, args, result, dict):
    target = debugger.GetSelectedTarget()
    process = target.GetProcess()
    process.Continue()
4

1 回答 1

10

process continue命令接受一个-i选项,该选项将忽略您当前在当前线程上停止的断点的下一个i匹配项。例如

Process 13559 stopped
* thread #1: tid = 0xb7da5, 0x0000000100000f21 a.out`main + 49 at a.c:7, stop reason = breakpoint 2.1
    #0: 0x0000000100000f21 a.out`main + 49 at a.c:7
   4        int i;
   5        for (i = 0; i < 100; i++)
   6        {
-> 7            printf ("%d\n", i);
   8        }
   9    }
(lldb) c -i 5
Process 13559 resuming
0
1
2
3
4
5
Process 13559 stopped
* thread #1: tid = 0xb7da5, 0x0000000100000f21 a.out`main + 49 at a.c:7, stop reason = breakpoint 2.1
    #0: 0x0000000100000f21 a.out`main + 49 at a.c:7
   4        int i;
   5        for (i = 0; i < 100; i++)
   6        {
-> 7            printf ("%d\n", i);
   8        }
   9    }
(lldb) 

您还可以直接使用设置断点的忽略计数breakpoint modify -i count bpnum

于 2013-03-13T02:52:03.093 回答