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