2012-03-05 67 views
1

我正在研究gdb,以獲取斷點實現。爲了方便起見,我使用了第一個GDB版本2.51(1988年發佈)。我看到中斷點插入數據爲 -gdb源代碼breakpoint.c - 0x4e 0x4f

#define BREAKPOINT {0x4e, 0x4f} 

什麼是0x4e和0x4f?

回答

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顯示了大量的註釋和源代碼示例。

+0

請你指點我發現這個的文獻嗎? – Kamath 2012-05-03 07:53:33

+0

我剛剛添加了一些技術資源的鏈接。 – 2012-05-07 17:12:02