我在 gdb 中设置了一个断点,我想查看断点所在的源代码的确切行,只是为了确认它是正确的——有没有一种快速的方法来做到这一点?
“info b”命令为我提供了有关断点的信息,但它不显示源:
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x00000000006c3ba4 in MyClass::foo(bar*)
at /home/user1/src/MyClass.cpp:1021
Run Code Online (Sandbox Code Playgroud)
我可以输入“list MyClass.cpp:1021”来查看这个断点周围的行,但我想知道是否有更短的方法。谷歌搜索和阅读 gdb 手册没有发现任何问题。
我知道,如果我正在执行程序并遇到断点,我可以只输入“list”,但我要特别询问我不在断点处的情况(程序甚至可能没有运行)。
您可以使用该list命令来显示源。 list采用“linespec”,这是 gdb 术语,用于表示break. 因此,您可以向它传递您最初用来制作断点的任何参数(例如,list function),或者您可以向它传递由info b(例如,list mysource.c:75)显示的文件和行。