gdb:将"next"应用于所选框架而不是最内框架

Jér*_*ler 8 c linux gdb

gdb,当你运行next命令.它适用于最内层的帧而不是选定的帧.如何要求gdb在所选框架的下一行中断?

举个例子:

在子函数中设置断点:

(gdb) b subfunc
Breakpoint 1 at 0x400f09: file prog.c, line 94.
(gdb) c
Continuing.

Breakpoint 1 at 0x400f09: file prog.c, line 94.
94      void subfunc() {
Run Code Online (Sandbox Code Playgroud)

更改所选框架:

(gdb) up
#1  0x0000000000400f7e in main (argc=1, argv=0x7fffffffe468) at prog.c:70
70          subfunc();
Run Code Online (Sandbox Code Playgroud)

我想停在第71行prog.c:

(gdb) n
95          i = 0;
Run Code Online (Sandbox Code Playgroud)

......但它停止了第95行prog.c.

Jér*_*ler 7

我终于找到了我想要的东西.advance允许继续直到特定的行.这样advance +1做.它可以缩写adv +1.