我正在调查基于可用核心转储的崩溃。应用程序崩溃是一个C++程序,由gcc构建并在RH5上运行。回溯似乎有效,直到#1帧。在那里试图打印一个对象我得到 <invalid address>, <error reading variable>
由于我有来自#2帧的对象的地址是一个有效的推测,我可以以某种方式'转储'对象分配的内存,仍然收集一些信息。此外,不要试图猜测对象如何对齐,我可以强制gdb将地址打印为对象,即使它检测到一些错误。我的想法是,也许对象已被删除,但也许内存仍然存在,我可以打印一些成员变量。gdb将内存地址解释为对象
请评论是否有可能,如果是这样,它应该如何在gdb中完成。 10X。
不知道它会工作,但你可以尝试'打印*((*的OBJ)地址)'。它有时对我有用。 – JaredC 2011-03-21 18:26:37