10

我可以通过在 GDB 中放置一个断点然后按下c继续执行来执行到 GDB 中的特定行。

b <line_number> ; insert breakpoint
c ; run up to the breakpoint
del <breakpoint_number> ; remove breakpoint

是否有一个命令可以运行到特定的行号,以避免运行上述命令序列?

4

2 回答 2

19

更简单的是“直到”命令,它会自动生成一个临时断点并继续直到它的位置。

于 2013-05-02T10:16:55.597 回答
3

您可以使用临时断点代替常规断点。这将消除命令序列中的第 3 步:

(gdb) tbreak <line_number>
(gdb) continue

临时断点和普通断点一样,只是在命中时会被删除:

(gdb) help tbreak 
Set a temporary breakpoint.
Like "break" except the breakpoint is only temporary,
so it will be deleted when hit.  Equivalent to "break" followed
by using "enable delete" on the breakpoint number.
于 2013-05-02T09:45:16.947 回答