微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gdb将内存地址解释为对象

我正在调查基于可用核心转储的崩溃。 应用程序崩溃是一个C ++程序,使用gcc构build,并在RH5上运行。 回溯似乎有效,直到#1帧。 在那里试图打印一个对象,我得到<invalid address>,<error reading variable>因为我有#2帧的对象的地址是一个有效的推测,我可以以某种方式'转储'的对象是分配和仍收集一些信息。 此外,不要试图猜测对象如何alignment,我可以强制gdb打印地址,就好像它是一个对象,即使它检测到一些错误。 我的想法是,也许对象已被删除,但只是也许内存仍然在那里,我可以打印一些成员variables。

评论是可能的,如果是这样的话,应该如何用gdb来完成。 10X。

如何确定一个过程的完整性水平?

使用C ++获取Windows文件信息

embedded式linux,应用程序状态冻结,重新启动

dma_mmap_coherent和remap_pfn_range有什么区别?

有没有可能在Windows中执行Objective-C程序?

那么,如果你有一个地址,你可以随时做:

print *(class MyClass*)pointer_var

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐