小编Dav*_*lla的帖子

不能插入断点。低值地址

我正在尝试调试这个简单的 C 程序:

#include <stdio.h>
int main(int argc, char *argv[]) {
    printf("Hello\n");
}
Run Code Online (Sandbox Code Playgroud)

但是当我反汇编 main 函数时,我得到了这个:

(gdb) disas main
Dump of assembler code for function main:
    0x000000000000063a <+0>:    push   rbp
    0x000000000000063b <+1>:    mov    rbp,rsp
    0x000000000000063e <+4>:    sub    rsp,0x10
    0x0000000000000642 <+8>:    mov    DWORD PTR [rbp-0x4],edi
    0x0000000000000645 <+11>:   mov    QWORD PTR [rbp-0x10],rsi
    0x0000000000000649 <+15>:   lea    rdi,[rip+0x94]        # 0x6e4
    0x0000000000000650 <+22>:   call   0x510 <puts@plt>
    0x0000000000000655 <+27>:   mov    eax,0x0
    0x000000000000065a <+32>:   leave  
    0x000000000000065b <+33>:   ret    
End of assembler dump.
Run Code Online (Sandbox Code Playgroud)

这已经很奇怪了,因为地址以前缀 4... 开头,对于 32 位可执行文件和 …

c linux debugging gdb

3
推荐指数
1
解决办法
2174
查看次数

标签 统计

c ×1

debugging ×1

gdb ×1

linux ×1