在使用gdb调试核心转储时指定glibc

在使用gdb调试核心转储时指定glibc,gdb,glibc,coredump,Gdb,Glibc,Coredump,我有一个程序在RHEL6.5上崩溃了,还有一个coredump文件 我想在RHEL6.4上调试它,但它有另一个版本的glibc。我将RHEL 6.5中的glibc.so.6放在lib/目录中,但无法将gdb设置为使用它: [nskdvlp@srv2-csd-mong01 snmp_int]$ LD_LIBRARY_PATH=/u01/app/maa/snmp_int/lib gdb bin/snmp_int Reading symbols from /u01/app/maa/snmp_int/b

我有一个程序在RHEL6.5上崩溃了,还有一个coredump文件

我想在RHEL6.4上调试它,但它有另一个版本的glibc。我将RHEL 6.5中的glibc.so.6放在lib/目录中,但无法将gdb设置为使用它:

[nskdvlp@srv2-csd-mong01 snmp_int]$ LD_LIBRARY_PATH=/u01/app/maa/snmp_int/lib gdb bin/snmp_int
Reading symbols from /u01/app/maa/snmp_int/bin/snmp_int...done.
(gdb) info sharedlibrary
No shared libraries loaded at this time.
(gdb) set solib-search-path lib
warning: .dynamic section for "/lib64/libc.so.6" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /u01/app/maa/snmp_int/lib/libsnmp_int_snmp.so.6.0.5...done.
Loaded symbols for /u01/app/maa/snmp_int/lib/libsnmp_int_snmp.so.6.0.5
(gdb) core core.110358
[New Thread 110358]
[New Thread 110367]
warning: .dynamic section for "/lib64/libc.so.6" is not at the expected address (wrong library or version mismatch?)
warning: Could not load shared library symbols for (0x%0*Zx)
.
Do you need "set solib-search-path" or "set sysroot"?
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
(gdb) bt
#0  0x0000003e93a32925 in ?? ()
#1  0x0000003e93a3408d in ?? ()
#2  0x0000000000000000 in ?? ()
所以库可以很好地从lib加载/

我将RHEL 6.5中的glibc.so.6放在lib/目录中,但无法将gdb设置为使用它:

[nskdvlp@srv2-csd-mong01 snmp_int]$ LD_LIBRARY_PATH=/u01/app/maa/snmp_int/lib gdb bin/snmp_int
Reading symbols from /u01/app/maa/snmp_int/bin/snmp_int...done.
(gdb) info sharedlibrary
No shared libraries loaded at this time.
(gdb) set solib-search-path lib
warning: .dynamic section for "/lib64/libc.so.6" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /u01/app/maa/snmp_int/lib/libsnmp_int_snmp.so.6.0.5...done.
Loaded symbols for /u01/app/maa/snmp_int/lib/libsnmp_int_snmp.so.6.0.5
(gdb) core core.110358
[New Thread 110358]
[New Thread 110367]
warning: .dynamic section for "/lib64/libc.so.6" is not at the expected address (wrong library or version mismatch?)
warning: Could not load shared library symbols for (0x%0*Zx)
.
Do you need "set solib-search-path" or "set sysroot"?
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
(gdb) bt
#0  0x0000003e93a32925 in ?? ()
#1  0x0000003e93a3408d in ?? ()
#2  0x0000000000000000 in ?? ()
没有glibc.so.6这样的东西。你的意思是
libc.so.6

这远远不够:您需要生成核心的系统中的所有库和动态加载程序。看看这个你需要做什么