小编Yic*_*hen的帖子

无法在gdb中找到.bss部分中定义的变量名称

我正在尝试一个简单的汇编代码:

.section .data
output:
    .ascii "The processor Vendor ID is 'xxxxxxxxxxxx'\n"
.section .bss
    .lcomm buffer, 12
.section .text
.code32
.globl _start
_start:
    movl $0, %eax
    cpuid
    movl $output, %edi
Run Code Online (Sandbox Code Playgroud)

在.bss部分我定义了一个名为"buffer"的变量

当我尝试在gdb中获取其地址/值时,它只是打印:

(gdb) p $buffer
$1 = void

使用objdump,我发现该名称不在ELF文件中,那么如何在运行as和ld时保留这些名称信息?谢谢!

assembly gdb gnu-assembler elf debug-symbols

4
推荐指数
1
解决办法
1564
查看次数

标签 统计

assembly ×1

debug-symbols ×1

elf ×1

gdb ×1

gnu-assembler ×1