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

时间:2013-05-20 19:53:23

标签: c++ linux gdb

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

2 个答案:

答案 0 :(得分:28)

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

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

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

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

答案 1 :(得分:0)

x/i $eip
eip(rip) 指向下一条指令