日期:2014-05-16  浏览次数:20885 次

GDB 打印的堆栈信息只有malloc_consolidate () 看不见别的,请指教!
问题是这样的,有一个较大的程序,在suse linux上运行一段时间之后coredump,core了之后用gdb查看信息如下:
Program terminated with signal 11, Segmentation fault.

warning: current_sos: Can't read pathname for load map: Input/output error

Reading symbols from /lib/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/lib/libstdc++.so.5
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
#0 0x401889b5 in malloc_consolidate () from /lib/tls/libc.so.6
(gdb) where
#0 0x401889b5 in malloc_consolidate () from /lib/tls/libc.so.6
#1 0x00000000 in ?? ()
(gdb) q

就只有这么寥寥几行,关键是看不出来是在程序的哪里core掉,程序很大没办法一点点查。
麻烦大牛们帮帮忙,多谢了!

------解决方案--------------------
这个具体调试工作凭借你的程序经验检查吧, 我相信自己写的程序或者读过点程序的程序员都可以看出来.