我可以使用 gdb 跳过一行而不必键入行号吗?

我知道我可以使用 jump将程序计数器设置为一个特定的行,因此我可以跳过一行或多行(或再次执行一些行)。我可以轻松地跳过下一行而不必输入行号吗?

这将非常方便地在运行时“注释掉”某些内容。

62777 次浏览
jump +1

跳转到下一行,即跳过当前行。您还可以将其与 tbreak +1组合起来,在跳转目标处设置一个临时断点。

有关使用 gdb 表示位置的更多方法,请参见 http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html

请注意,如果没有断点,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配置文件中有以下内容:

define skip
tbreak +1
jump +1
end

所以只需在 gdb 中键入 skip就可以跳过一行。