我知道我可以使用 jump将程序计数器设置为一个特定的行,因此我可以跳过一行或多行(或再次执行一些行)。我可以轻松地跳过下一行而不必输入行号吗?
jump
这将非常方便地在运行时“注释掉”某些内容。
jump +1
跳转到下一行,即跳过当前行。您还可以将其与 tbreak +1组合起来,在跳转目标处设置一个临时断点。
tbreak +1
有关使用 gdb 表示位置的更多方法,请参见 http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html。
请注意,如果没有断点,gdb很可能继续正常执行,而不是跳转。因此,如果跳跃似乎不起作用,请确保在目的地设置断点。
gdb
在执行过程中跳过任意数量的行:
[Current Position -- in GDB] Line N .......... // Lines To Skip .......... .......... [Line To Execute - After Jumping] Line M
在行 M 上放置断点:
gdb$b M
跳到 M 线:
gdb$jump M
在我的 .gdbinit配置文件中有以下内容:
.gdbinit
define skip tbreak +1 jump +1 end
所以只需在 gdb 中键入 skip就可以跳过一行。
skip