出于分析目的,我们想知道哪些数据(消息)存储在地址中。有没有选择在GDB中查找消息。
换句话说,我们知道内存的地址(0x80488b4),但我们也想知道通过GDB存储在该地址中的消息。
示例代码:
(gdb) print option_value
$1 = (const void *) 0x80488b4
答案 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