这个GDB Core dump 应该怎么理解啊

时间:2021-10-05 16:42:05
运行了个程序,出现了core,用gdb跑了一下,看到了如下信息

ACE那个程序产生的Core dump以下信息,哪位能给看看,都没有什么头绪了 

GNU gdb Red Hat Linux (6.5-37.el5rh) 
Copyright (C) 2006 Free Software Foundation, Inc. 
GDB is free software, covered by the GNU General Public License, and you are 
welcome to change it and/or distribute copies of it under certain conditions. 
Type "show copying" to see the conditions. 
There is absolutely no warranty for GDB.  Type "show warranty" for details. 
This GDB was configured as "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/libthread_db.so.1". 


warning: core file may not match specified executable file. 
Reading symbols from /usr/local/lib/libACE-5.6.6.so...done. 
Loaded symbols for /usr/local/lib/libACE-5.6.6.so 
Reading symbols from /usr/lib64/libstdc++.so.6...done. 
Loaded symbols for /usr/lib64/libstdc++.so.6 
Reading symbols from /usr/lib64/libmysqlpp.so.3...done. 
Loaded symbols for /usr/lib64/libmysqlpp.so.3 
Reading symbols from /lib64/libdl.so.2...done. 
Loaded symbols for /lib64/libdl.so.2 
Reading symbols from /lib64/libpthread.so.0...done. 
Loaded symbols for /lib64/libpthread.so.0 
Reading symbols from /lib64/librt.so.1...done. 
Loaded symbols for /lib64/librt.so.1 
Reading symbols from /lib64/libm.so.6...done. 
Loaded symbols for /lib64/libm.so.6 
Reading symbols from /lib64/libgcc_s.so.1...done. 
Loaded symbols for /lib64/libgcc_s.so.1 
Reading symbols from /lib64/libc.so.6...done. 
Loaded symbols for /lib64/libc.so.6 
Reading symbols from /lib64/ld-linux-x86-64.so.2...done. 
Loaded symbols for /lib64/ld-linux-x86-64.so.2 
Reading symbols from /usr/lib64/mysql/libmysqlclient.so.15...done. 
Loaded symbols for /usr/lib64/mysql/libmysqlclient.so.15 
Reading symbols from /lib64/libcrypt.so.1...done. 
Loaded symbols for /lib64/libcrypt.so.1 
Reading symbols from /lib64/libnsl.so.1...done. 
Loaded symbols for /lib64/libnsl.so.1 
Reading symbols from /lib64/libssl.so.6...done. 
Loaded symbols for /lib64/libssl.so.6 
Reading symbols from /lib64/libcrypto.so.6...done. 
Loaded symbols for /lib64/libcrypto.so.6 
Reading symbols from /usr/lib64/libz.so.1...done. 
Loaded symbols for /usr/lib64/libz.so.1 
Reading symbols from /usr/lib64/libgssapi_krb5.so.2...done. 
Loaded symbols for /usr/lib64/libgssapi_krb5.so.2 
Reading symbols from /usr/lib64/libkrb5.so.3...done. 
Loaded symbols for /usr/lib64/libkrb5.so.3 
Reading symbols from /lib64/libcom_err.so.2...done. 
Loaded symbols for /lib64/libcom_err.so.2 
Reading symbols from /usr/lib64/libk5crypto.so.3...done. 
Loaded symbols for /usr/lib64/libk5crypto.so.3 
Reading symbols from /usr/lib64/libkrb5support.so.0...done. 
Loaded symbols for /usr/lib64/libkrb5support.so.0 
Reading symbols from /lib64/libkeyutils.so.1...done. 
Loaded symbols for /lib64/libkeyutils.so.1 
Reading symbols from /lib64/libresolv.so.2...done. 
Loaded symbols for /lib64/libresolv.so.2 
Reading symbols from /lib64/libselinux.so.1...done. 
Loaded symbols for /lib64/libselinux.so.1 
Reading symbols from /lib64/libsepol.so.1...done. 
Loaded symbols for /lib64/libsepol.so.1 
Reading symbols from /lib64/libnss_files.so.2...done. 
Loaded symbols for /lib64/libnss_files.so.2 
Core was generated by `./MyApp'. 
Program terminated with signal 6, Aborted. 
#0  0x00000030a7c30155 in raise () from /lib64/libc.so.6

11 个解决方案

#1


卡看调用堆栈,. 找到最上面,哪个函数触发的

#2


帮顶撒 

#3


用bt看栈

#4


帮顶~

#5


up

#6


用bt 瞧瞧吧 光那个raise只能说明 你程序因为 signal 而down掉的

#7


bt看堆栈。。寻找dump的地方。。

#8


gdb -c core文件 被调试的程序 

#9


引用 1 楼 oyljerry 的回复:
卡看调用堆栈,. 找到最上面,哪个函数触发的

up

#10


比如说:
你的程序名称:xmsd
core文件名称:core.1234(其中,1234代表你当时xmsd运行的进程号)

运行下面的命令:
gdb xmsd core.1234
(gdb)bt(回车)
下面就是打印的堆栈信息了。
然后,查看最上面的函数,就是core的地方了。

例如:
gdb xmsd core.PID1065_SIG11

(gdb) bt 

#0 0x0804ff8c in memory_error (self=0x818ca10, ptr=0x82e5a94, msg=0x813efb2 "memory_free") at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:140 

#1 0x080504cd in memory_free (ptr=0x82e5a94) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:275 

#2 0x080505ac in xml_free (ptr=0x82e5a94) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:316 

#3 0xb7edb589 in xmlFreeNode () from /home/zhenbo/workstation/DEVSUITE-HEAD/debug/lib/libxml2.so 

#4 0x082b2228 in ?? () 

#5 0x08097031 in interfacehandler_set (self=0x82bd74c, correlator=-4, conf=0x0, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/interfaces/interfacehandler.c:150 

#6 0x0805e897 in configurable_set (self=0x82bd74c, correlator=-4, conf=0x0, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/xms/configurable.c:85 

#7 0x0805e73c in configurable_flush (self=0x82bd74c, correlator=-4, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/xms/configurable.c:67 #8 0x08100ddc in system_complete (self=0x82b0aac, correlator=-5, code=0

则从以上信息可以知道,可从函数interfacehandler_set入手进行分析,其中的参数和行号都已经给出了。

#11


跟没说一样……

#1


卡看调用堆栈,. 找到最上面,哪个函数触发的

#2


帮顶撒 

#3


用bt看栈

#4


帮顶~

#5


up

#6


用bt 瞧瞧吧 光那个raise只能说明 你程序因为 signal 而down掉的

#7


bt看堆栈。。寻找dump的地方。。

#8


gdb -c core文件 被调试的程序 

#9


引用 1 楼 oyljerry 的回复:
卡看调用堆栈,. 找到最上面,哪个函数触发的

up

#10


比如说:
你的程序名称:xmsd
core文件名称:core.1234(其中,1234代表你当时xmsd运行的进程号)

运行下面的命令:
gdb xmsd core.1234
(gdb)bt(回车)
下面就是打印的堆栈信息了。
然后,查看最上面的函数,就是core的地方了。

例如:
gdb xmsd core.PID1065_SIG11

(gdb) bt 

#0 0x0804ff8c in memory_error (self=0x818ca10, ptr=0x82e5a94, msg=0x813efb2 "memory_free") at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:140 

#1 0x080504cd in memory_free (ptr=0x82e5a94) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:275 

#2 0x080505ac in xml_free (ptr=0x82e5a94) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/lib/memory.c:316 

#3 0xb7edb589 in xmlFreeNode () from /home/zhenbo/workstation/DEVSUITE-HEAD/debug/lib/libxml2.so 

#4 0x082b2228 in ?? () 

#5 0x08097031 in interfacehandler_set (self=0x82bd74c, correlator=-4, conf=0x0, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/interfaces/interfacehandler.c:150 

#6 0x0805e897 in configurable_set (self=0x82bd74c, correlator=-4, conf=0x0, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/xms/configurable.c:85 

#7 0x0805e73c in configurable_flush (self=0x82bd74c, correlator=-4, cb=0x82b0aac) at /aston/h_debit/XMS/bin/XMS_1_15_11/src/xms/xms/configurable.c:67 #8 0x08100ddc in system_complete (self=0x82b0aac, correlator=-5, code=0

则从以上信息可以知道,可从函数interfacehandler_set入手进行分析,其中的参数和行号都已经给出了。

#11


跟没说一样……