在64位机器上执行的32位编译应用程序中的gdb断点未被命中

时间:2013-03-27 16:52:23

标签: gdb nasm

我正在运行一个基本的汇编程序,它是在64位机器上的32位机器上编译的。我知道有一个叫做_start的断点。当我发出break _start命令时,我收到:

Breakpoint 1 at 0x8048080

当我运行应用程序时,应用程序不会在设置的断点处中断,而是继续运行。

代码中的一小段摘录:

global _start           

section .text
_start:

    jmp Begin

我的断点没有被击中的原因是什么?

1 个答案:

答案 0 :(得分:1)

您需要添加一个nop作为第一条指令。然后就可以了

breakpoint *_start+1

这是由于gdb中的一个错误。你可以做到

disassemble _start

查看可以使用* _start + offset格式设置的所有断点。