0

C++ 应用程序崩溃,核心文件显示错误

警告:在 0x7fff79e54000 添加的符号文件系统提供的 DSO 中找不到可加载的部分
核心是由“./server”生成的。
程序以信号 6 终止,Aborted。
#0 0x0000003b67230265 in raise () from /lib64/libc.so.6
(gdb) BT
#0 0x0000003b67230265 in raise () from /lib64/libc.so.6
#1 0x0000003b67231d10 in abort () from /lib64/libc.so.6
#2 0x0000003b6726a9bb in __libc_message () from /lib64/libc.so.6
#3 0x0000003b6727247f in _int_free () from /lib64/libc.so.6
#4 0x0000003b672728db in free () from /lib64/libc.so.6
#5 0x00000000004060df 在 ../lib/m_string.cpp:43 的运算符删除 (p=0x20030190)
#6 0x0000000000403892 in TStr::~TStr (this=0x2102c980, __in_chrg=<value optimization out>) at ../lib/m_string.cpp:175 –

能够理解这个问题。这是我已验证的链接https://bugzilla.redhat.com/show_bug.cgi?id=959013

说明vdso文件大小不够。它位于路径 /proc/self/maps 中。

请让我知道这是什么类型的问题,并请提出解决方案。

4

1 回答 1

3

这是什么问题

内部的任何崩溃malloc或者free是先前堆损坏的明确迹象。

使用ValgrindAddressSanitizer(也包含在 GCC-4.8 中)来查找根本原因。

忽略vdso——正如汤姆·特罗米所说,这与问题无关。

于 2013-08-16T15:12:56.300 回答