繁体   English   中英

gdb将内存地址解释为对象

[英]gdb interpret memory address as an object

我正在根据可用的核心转储调查崩溃。 应用程序崩溃是一个C ++程序,使用gcc构建并在RH5上运行。 回溯似乎有效,直到#1帧。 试图打印一个对象我得到<invalid address>, <error reading variable>因为我有来自#2帧的对象的地址是一个有效的假设,我可以以某种方式“转储”对象所在的内存分配并仍然收集一些信息。 此外,我可以强制gdb打印地址,就好像它是一个对象,而不是试图猜测对象是如何对齐的,即使它检测到一些错误。 我的想法是,对象可能已被删除,但也许内存仍然存在,我可以打印一些成员变量。

请评论是否可能,如果是的话,应该如何用gdb术语来完成。 10X。

好吧,如果你有一个地址,你可以随时做:

print *(class MyClass*)pointer_var

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM