linux gdb&#039;查找寄存器地址,GDB信息寄存器命令 - 当在gdb运行<code>info registers</code>输出...

info registers命令以原始格式(十六进制)和自然格式打印寄存器。

自然格式是基于寄存器的类型,在gdb的源代码中的xml文件中声明。例如,i386/64bit-core.xml包含:

可以看到,与type="int64"和type="int32"寄存器在其自然输出显示为十进制值,因为它们通常是通用寄存器,并且可以同时用于参考存储器和分配值。

虽然寄存器type="data_ptr"和type="code_ptr"的自然格式为十六进制值,因为它们通常用于引用内存地址。

对于具有type="i386_eflags"的寄存器,输出设置为“真”的标志,因为对于该寄存器,对于人来说,知道哪个标志设置为“真”而非十六进制值会更有意义。

对于其他体系结构,它取决于如何在其源代码中定义寄存器类型。你可以看一下ARM,ARM-64,x86-32bit的源代码和其他许多在binutils-gdb/gdb/features/

编辑:

对不起,我忘了提到的来源。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值