(gdb)disas / m main没有显示我想要的内容

时间:2014-09-17 02:10:18

标签: c assembly gdb

我使用的是redhat linux 64位系统。

我目前正在学习汇编语言(AT& T语法和32位),现在我试图了解此人在此页面上的内容。

https://sourceware.org/gdb/current/onlinedocs/gdb/Machine-Code.html#Machine-Code

(gdb) disas /m main
Dump of assembler code for function main:
5       {
0x08048330 <+0>:    push   %ebp
    0x08048331 <+1>:    mov    %esp,%ebp
    0x08048333 <+3>:    sub    $0x8,%esp
    0x08048336 <+6>:    and    $0xfffffff0,%esp
    0x08048339 <+9>:    sub    $0x10,%esp

6         printf ("Hello.\n");
=> 0x0804833c <+12>:   movl   $0x8048440,(%esp)
  0x08048343 <+19>:   call   0x8048284 <puts@plt>

 7         return 0;
 8       }
 0x08048348 <+24>:   mov    $0x0,%eax
 0x0804834d <+29>:   leave
 0x0804834e <+30>:   ret

当我运行我的gdb时,我没有那些5,6,7,8行,其中汇编代码很好地用C代码分隔。我只是一次得到通常的整块汇编代码而没有显示C代码。

这不是因为我正在使用AT&amp; T语法吗?

谢谢。

0 个答案:

没有答案