我正在根据可用的核心转储来调查崩溃。崩溃的应用程序是一个C++程序,用gcc构建并在RH5上运行。回溯似乎在 #1 帧之前都有效。试图打印我得到的对象<invalid address>, <error reading variable>
由于我从 #2 帧中获得了对象的地址,因此我可以以某种方式“转储”分配对象的内存并仍然收集一些信息,这是一个有效的假设。此外,我可以强制 gdb 打印地址,就像它是一个对象一样,而不是尝试猜测对象是如何对齐的,即使它检测到一些错误。我的想法是,也许该对象已经被删除,但也许内存仍然存在,我可以打印一些成员变量。
请评论这是否可能,如果可以,应该如何用 gdb 术语来完成。 10 倍。
好吧,如果您有地址,您可以随时执行以下操作:
print *(class MyClass*)pointer_var
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)