【问题标题】:How to put a break on an instruction specified by address in gdb? [duplicate]如何在 gdb 中的地址指定的指令上中断? [复制]
【发布时间】:2011-12-14 06:01:28
【问题描述】:

如何为该指令设置断点。当我写任何一个时:

break 9048f23
break *9048f23

它不起作用。

如何在该指令中设置断点。

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

平台:Linux。

【问题讨论】:

    标签: assembly gdb


    【解决方案1】:

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

    b *0x9048f23
    

    【讨论】:

      【解决方案2】:

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

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

      set input-radix 16
      

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

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

      【讨论】:

        猜你喜欢
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 2014-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        相关资源
        最近更新 更多