如何使用gdb调试到C程序的相应反汇编?

时间:2016-09-21 10:54:38

标签: c debugging gdb disassembly

使用VC可以调出反汇编窗口并在其中传播。但是使用gdb似乎并不那么直接:

E.g。我有一个myadd.c

void main(){
   int i=0;
   int j=i+1;
   j+=2;
}
  

gcc -g myadd.c

     

gdb a.out

     

b 2 //在int j = 1 + 1;

设置断点

现在我可以使用"反汇编"命令查看反汇编代码。我的要求是调试"进入"这个反汇编代码就像VC一样。我试过' s命令,它直接进入下一个" C"声明,而不是反汇编声明。

怎么做?

2 个答案:

答案 0 :(得分:1)

要跳转到下一个汇编指令,请改用stepi(短si)。

有关详细信息,请参阅this,尤其是如何使用display/i显示下一台机器指令。

答案 1 :(得分:1)

要获得相当不错的装配视图,请使用la playout prev)并使用sistepi)。使用C-x a返回常规gdb提示符。在某些情况下,其他布局也可能有用。