GDB:如何在调试期间检查当前行号

Fre*_*Ben 16 c++ linux gdb

在使用GDB进行调试时,如何检查我停止的当前行号?我本以为这很明显(也许是这样)但是我没有在GDB备忘单上看到它.

Fre*_*Ben 28

一些挖掘揭示了以下方法:

  1. frame:这个命令正是我想要的.产出如下:

    (gdb) frame
    #0  MyDialog::on_saveButton_clicked (this=0x72bf9e0) at src/ui/dialog/MyDialog.cxx:86
    86          _item->save();
    (gdb) 
    
    Run Code Online (Sandbox Code Playgroud)
  2. wherebt(相同的效果):打印出调用堆栈,以当前行结束.

  3. list *$pc:这不会告诉您确切的行,但它打印出周围的行,当前行位于中心.

  • 我知道你提到了GDB,但是你有没有尝试过使用gdbtui?它有一个漂亮的终端GUI,让你看到当前和环绕线.您也可以使用键盘方向键向上滚动. (3认同)