如何在gdb中的地址指定的指令上中断?

时间:2011-10-24 15:29:56

标签: assembly gdb

如何为该指令设置断点。我写的时候:

break 9048f23
break *9048f23

它不起作用。

我如何为该指示设置一个断点。

9048f23:    8a 51 e6                mov    0x12(%esp),%eax  

平台:Linux。

2 个答案:

答案 0 :(得分:20)

您只需要添加十六进制前缀:

b *0x9048f23

答案 1 :(得分:2)

默认情况下,您需要0x前缀来指定十六进制数字(如Igor所说; +1)。

如果您更喜欢将hex用于数字输入(不需要前缀),则可以使用以下命令更改默认值:

set input-radix 16

您还可以使用set output-radix更改默认输出基数,或同时使用set radix更改两者的默认输出基数;有关详细信息,请参阅relevant section of the gdb documentation

(如果您希望这些命令自动应用于每个~/.gdbinit会话,您可以将这些命令放在gdb文件中。)