搜索路径不对
现象
gdb进入时出现大量报错
warning: .dynamic section for "/usr1/carrot/cluster/app/lib/libdssapi.so" is not at the expected address (wrong library or version mismatch?)
warning: .dynamic section for "/usr1/carrot/cluster/app/lib/postgresql/security_plugin.so" is not at the expected address (wrong library or version mismatch?)
warning: .dynamic section for "/usr1/carrot/cluster/app/lib/libdms.so" is not at the expected address (wrong library or version mismatch?)
warning: .dynamic section for "/usr1/carrot/cluster/app/lib/libclient.so" is not at the expected address (wrong library or version mismatch?)
Missing separate debuginfo for /usr1/carrot/cluster/app/lib/libxml2.so.2
Missing separate debuginfo for /usr1/carrot/cluster/app/lib/libssl.so.1.1
Missing separate debuginfo for /usr1/carrot/cluster/app/lib/libcrypto.so.1.1
Missing separate debuginfo for /usr1/carrot/cluster/app/lib/libz.so.1
之后bt
命令打印堆栈不全,无法调试。
(gdb) bt
....
#6 <signal handler called>
#7 0x0000ffff0d076570 in ?? ()
#8 0x0000fffb511b97a0 in ?? ()
#9 0x0000ffff0d0b1e50 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
分析
大量的库符号消失导致无法调试,打印不出来堆栈。根本原因是这些.so的搜索路径不对导致的。
寻找的是/usr1/carrot/cluster/app/lib
路径下,而我们期望的是/usr1/carrot/log_bak/I8J8O7/cluster/app_6460c491/lib
路径。
解决
1、info sharedlibrary
查看当前相应库的载入路径。
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x0000ffff1e941c20 0x0000ffff1ea448e0 Yes (*) /usr1/carrot/cluster/app/lib/libxml2.so.2
0x0000ffff1e8619e0 0x0000ffff1e875d24 Yes (*) /usr/lib64/libcrypt.so.1
0x0000ffff1e831100 0x0000ffff1e831f3c Yes (*) /usr/lib64/libdl.so.2
0x0000ffff1e7afc30 0x0000ffff1e7f638c Yes (*) /usr1/carrot/cluster/app/lib/libssl.so.1.1
0x0000ffff1e5a1018 0x0000ffff1e6ebf7c Yes (*) /usr1/carrot/cluster/app/lib/libcrypto.so.1.1
0x0000ffff1e4b22b0 0x0000ffff1e4b5484 Yes (*) /usr/lib64/librt.so.1
0x0000ffff1e4728b0 0x0000ffff1e47f56c Yes (*) /usr1/carrot/cluster/app/lib/libz.so.1
0x0000ffff1e40a950 0x0000ffff1e43a3ec Yes (*) /usr1/carrot/cluster/app/lib/libeSDKOBS.so
0x0000ffff1e3bd3c8 0x0000ffff1e3cde68 Yes (*) /usr1/carrot/cluster/app/lib/libeSDKLogAPI.so
0x0000ffff1e3612b0 0x0000ffff1e38f720 Yes (*) /usr1/carrot/cluster/app/lib/libpcre.so.1
0x0000ffff1e2422c0 0x0000ffff1e26d40c Yes (*) /usr1/carrot/cluster/app/lib/libiconv.so.2
0x0000ffff1e1f5310 0x0000ffff1e20f9bc Yes (*) /usr1/carrot/cluster/app/lib/libnghttp2.so.14
0x0000ffff1e188128 0x0000ffff1e1aa7b8 Yes (*) /usr1/carrot/cluster/app/lib/liblog4cpp.so.5
0x0000ffff1e0dd528 0x0000ffff1e134e48 Yes (*) /usr1/carrot/cluster/app/lib/libcurl.so.4
0x0000ffff1e0724a0 0x0000ffff1e0a242c Yes (*) /usr1/carrot/cluster/app/lib/liblz4.so.1
0x0000ffff1e052130 0x0000ffff1e0590d4 Yes (*) /usr1/carrot/cluster/app/lib/libcjson.so.1
0x0000ffff1e021fd0 0x0000ffff1e023b30 Yes (*) /usr1/carrot/cluster/app/lib/libatomic.so.1
0x0000ffff1dff29f0 0x0000ffff1dff9188 Yes (*) /usr1/carrot/cluster/app/lib/libmasstree.so
0x0000ffff1dd54e30 0x0000ffff1dd6d030 Yes (*) /usr1/carrot/cluster/app/lib/libcgroup.so.1
0x0000ffff0da8ca20 0x0000ffff0db238d0 Yes (*) /usr1/carrot/cluster/app/lib/libdcf.so
0x0000ffff0d9baac0 0x0000ffff0da53a38 Yes (*) /usr1/carrot/cluster/app/lib/libzstd.so.1
0x0000ffff0d981130 0x0000ffff0d982304 Yes (*) /usr1/carrot/cluster/app/lib/libcom_err_gauss.so.3
0x0000ffff0d90e1b0 0x0000ffff0d957ec0 Yes (*) /usr1/carrot/cluster/app/lib/libgssapi_krb5_gauss.so.2
0x0000ffff0d805270 0x0000ffff0d88ce40 Yes (*) /usr1/carrot/cluster/app/lib/libkrb5_gauss.so.3
0x0000ffff0d786140 0x0000ffff0d79bb78 Yes (*) /usr1/carrot/cluster/app/lib/libgssrpc_gauss.so.4
0x0000ffff0d704a30 0x0000ffff0d73e590 Yes (*) /usr1/carrot/cluster/app/lib/libk5crypto_gauss.so.3
0x0000ffff0d6c6aa0 0x0000ffff0d6d44bc Yes (*) /usr1/carrot/cluster/app/lib/libkadm5clnt_mit.so.12
0x0000ffff0d687bc0 0x0000ffff0d69b8d0 Yes (*) /usr1/carrot/cluster/app/lib/libkadm5srv_mit.so.12
0x0000ffff0d635080 0x0000ffff0d643ca0 Yes (*) /usr1/carrot/cluster/app/lib/libkdb5.so.10
0x0000ffff0d6039d0 0x0000ffff0d60c668 Yes (*) /usr1/carrot/cluster/app/lib/libkrb5support_gauss.so.0
0x0000ffff0d4e3a58 0x0000ffff0d58df58 Yes (*) /usr1/carrot/cluster/app/lib/libstdc++.so.6
0x0000ffff0d3e09b0 0x0000ffff0d3e0f44 Yes (*) /usr/lib64/libaio.so.1
0x0000ffff0d3b3830 0x0000ffff0d3bb390 Yes (*) /usr1/carrot/cluster/app/lib/libnuma.so.1
0x0000ffff0d3687f0 0x0000ffff0d380a30 Yes (*) /usr/lib64/libncurses.so.6
0x0000ffff0d31e290 0x0000ffff0d32b6ac Yes (*) /usr/lib64/libtinfo.so.6
0x0000ffff0d24d800 0x0000ffff0d29ede0 Yes (*) /usr/lib64/libm.so.6
0x0000ffff0d202df0 0x0000ffff0d211438 Yes (*) /usr1/carrot/cluster/app/lib/libgcc_s.so.1
0x0000ffff0d1c6d50 0x0000ffff0d1d560c Yes (*) /usr/lib64/libpthread.so.0
0x0000ffff0d063c40 0x0000ffff0d156770 Yes (*) /usr/lib64/libc.so.6
0x0000ffff1eab1080 0x0000ffff1eac7948 Yes (*) /lib/ld-linux-aarch64.so.1
0x0000ffff0d011580 0x0000ffff0d012324 Yes (*) /usr/lib64/libkeyutils.so.1
0x0000ffff0cfd3fe0 0x0000ffff0cfdfd54 Yes (*) /usr/lib64/libresolv.so.2
0x0000fffefc442ff0 0x0000fffefc6d0f54 Yes (*) /usr1/carrot/cluster/app/lib/libdssapi.so
0x0000ffff0cea29e0 0x0000ffff0cea961c Yes (*) /usr/lib64/libnss_files.so.2
0x0000ffff0b883de0 0x0000ffff0b8ba5d0 Yes (*) /usr1/carrot/cluster/app/lib/postgresql/security_plugin.so
0x0000fffc864c0ff0 0x0000fffc86715f54 Yes (*) /usr1/carrot/cluster/app/lib/libdms.so
0x0000fffc97a536e0 0x0000fffc97a62110 Yes (*) /usr1/carrot/cluster/app/lib/libclient.so
2、使用set sysroot 路径
或 set solib-search-path 路径
修改搜索路径
(gdb) set solib-search-path /usr1/carrot/log_bak/I8J8O7/cluster/app_6460c491/lib:/usr/lib64
3、可以正常bt
参考:
https://www.cnblogs.com/tibetanmastiff/p/4759995.html