有没有一种在gdb中的断点处显示源代码的快速方法?

有没有一种在gdb中的断点处显示源代码的快速方法?,gdb,Gdb,我已经在gdb中设置了一个断点,我想看看断点所在的源代码的确切行,只是为了确认它是正确的——有没有一种快速的方法可以做到这一点 “info b”命令提供有关断点的信息,但不显示源: (gdb) info b Num Type Disp Enb Address What 1 breakpoint keep y 0x00000000006c3ba4 in MyClass::foo(bar*)

我已经在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
我可以键入“listmyclass.cpp:1021”来查看这个断点周围的行,但是我想知道是否有更短的方法。谷歌搜索和阅读gdb手册没有发现任何问题


我知道,如果我正在执行程序并且遇到了断点,我可以只键入“list”,但我要特别询问的是我不在断点的情况(程序甚至可能没有运行)。

您可以使用
list
命令来显示源代码
list
采用“linespec”,这是gdb术语,表示
break
接受的各种参数。因此,您可以将用于创建断点的任何参数传递给它(例如,
list function
),也可以将
info b
(例如,
list mysource.c:75
)所示的文件和行传递给它,但是,如果您愿意的话,也许可以用Python编写一个,当您遇到断点时,似乎只需使用
list
(无参数),它就会打印出周围的代码。再次按enter键将显示后续代码。这是我能想象到的最直观的!这与你何时到达断点无关。这是微不足道的,也是默认的。它是关于当你不在那一点上时列出它。所以,不,这并不像你想象的那么直观;)Q甚至包括他知道他可以在当前执行点列出源代码的事实。我很想知道你是否有这方面的进展。