首页 > 解决方案 > 如何让 gdb 显示内存偏移量

问题描述

我创建了以下存根汇编程序来演示这一点:

.globl _start
_start:
    mov $4,  %edi
    mov $60, %eax
    syscall

我已经用(gas)生成了可执行文件:

$ as file.s -o file.o
$ ld file.o -o file

然后输入gdb:

$ gdb file
>>> starti

我的终端看起来像:

在此处输入图像描述

但是,如果我反汇编它,它会给我正确的内存偏移量,而不是?每次:

>>> disassemble
Dump of assembler code for function _start:
=> 0x0000000000400078 <+0>: mov    $0x4,%edi
   0x000000000040007d <+5>: mov    $0x3c,%eax
   0x0000000000400082 <+10>:    syscall
End of assembler dump.
>>>

我需要添加到汇编器或链接器命令中以便gdb读取偏移量吗?

标签: assemblygdb

解决方案


推荐阅读