在GDB(Cent OS 6)中查找地址的值

时间:2013-07-09 10:25:39

标签: linux gdb

出于分析目的,我们想知道哪些数据(消息)存储在地址中。有没有选择在GDB中查找消息。

换句话说,我们知道内存的地址(0x80488b4),但我们也想知道通过GDB存储在该地址中的消息。

示例代码:

(gdb) print option_value
$1 = (const void *) 0x80488b4

2 个答案:

答案 0 :(得分:1)

如果您知道邮件的类型typemsg_t,则可以取消引用它,例如print *(typemsg_t*) option_value

您可能也对GDB watchpoint能力感兴趣。

值得花些时间阅读GDB documentation

答案 1 :(得分:0)

什么是“消息”?您当然可以使用gdb的x (for examine) command

检查该地址的内存内容
(gdb) x option_value

如果您知道option_value,尽管在当前范围内看起来像const void *,但实际上是其他类型,您可以进行投射和取消引用:

(gdb) print *(MessageType *) option_value