分析Core dump是否存在内存泄漏

时间:2017-02-02 12:08:49

标签: c gdb hp-ux

我有几个通过手动终止内存泄漏过程创建的核心转储文件。我试图用GDB打开它,但gdb报告(没有找到debuggung符号)。根据我的理解,这意味着程序是在没有-g选项的情况下编译的,这是正确的,因此,GDB没有什么可以捕获的。
但是,我想只打开核心转储文件,我需要阅读它以找到某种内存泄漏。我可以尝试使用-g标志重新编译程序,但是后续的可执行文件将不再与生成核心转储文件的那个相同。
当我尝试做回溯时,我得到了这个

#0  0x0000003c992325e5 in ?? () from /lib64/libc.so.6
#1  0x0000003c99233dc5 in abort () from /lib64/libc.so.6
#2  0x00007f961117d3f2 in PrepareDumpAreas () from /opt/mqm/lib64/libmqe_r.so
#3  0x0000000000000000 in ?? ()

告诉我,他出于某种原因无法阅读我提供的可执行文件,但那是不可能的,因为我确定exe是正确的。这可能是因为它没有编译用于调试这一事实的另一个结果?
我的问题是:有没有其他方法来读取转储核心文件?我能做些什么才能使GDB以我需要的方式工作 编辑1:我还运行了自己的一组测试并观察,如果该过程的内存需求增加。在我的环境中,没有明显的泄漏。所以它特定于我的客户端的环境(也许,特定于我的程序必须执行的消息加载)

0 个答案:

没有答案