gdb源代码breakpoint.c - 0x4e 0x4f

时间:2012-03-05 08:19:22

标签: gdb

我正在研究gdb,用于断点实现。为了方便起见,我采用了第一个GDB版本2.51(1988年发布)。我看到断点插入数据为 -

#define BREAKPOINT {0x4e, 0x4f}

什么是0x4e和0x4f?

1 个答案:

答案 0 :(得分:3)

0x4E 0x4F是“TRAP#15”的Motorola 68000机器指令。 TRAP指令强制发生异常,并且在某些平台上,陷阱#15被定义为断点异常。这就是为什么0x4E和0x4F出现在你的GDB 2.51源代码中,用于处理sun3等平台。

参考文献:

Motorola M68000 Family Programmer's Reference Manual包含第4-188页的TRAP指令的详细信息。具体地说,该指令由12位值010011100100表示​​,后跟4位“向量”(在本例中为1111)。所以“TRAP#15”由0x4E 0x4F表示。 Sun专门使用向量15进行断点/跟踪 - Google search显示了许多注释和源代码示例。