我正在运行一个基本的汇编程序,它是在64位机器上的32位机器上编译的。我知道有一个叫做_start的断点。当我发出break _start
命令时,我收到:
Breakpoint 1 at 0x8048080
当我运行应用程序时,应用程序不会在设置的断点处中断,而是继续运行。
代码中的一小段摘录:
global _start
section .text
_start:
jmp Begin
我的断点没有被击中的原因是什么?
答案 0 :(得分:1)
您需要添加一个nop作为第一条指令。然后就可以了
breakpoint *_start+1
这是由于gdb中的一个错误。你可以做到
disassemble _start
查看可以使用* _start + offset格式设置的所有断点。