使用GDB分析core dump,进入yocto的编译目录。执行set sysroot,结果发现一个共享库都没有加载。
info sharedlibrary,直接没显示有共享库。
原来是可执行文件的版本和core dump的不匹配。
yuan@yuan-vm:/work/nas/minas/source/build/tmp/work/cortexa55-poky-linux/findex/1.0/src$ ${GDB} obj/findexd /work/core-findexd-121
GNU gdb (GDB) 14.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-pokysdk-linux --target=aarch64-poky-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from obj/findexd...
warning: Can't open file /usr/bin/findexd during file-backed mapping note processing
warning: Can't open file /usr/lib/libpinyin.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libname_sort.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libgcc_s.so.1 during file-backed mapping note processing
warning: Can't open file /usr/lib/libstdc++.so.6.0.32 during file-backed mapping note processing
warning: Can't open file /usr/lib/libmitrigram.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libcrypt.so.2.0.0 during file-backed mapping note processing
warning: Can't open file /usr/lib/libcap.so.2.69 during file-backed mapping note processing
warning: Can't open file /usr/lib/libnss_systemd.so.2 during file-backed mapping note processing
warning: Can't open file /usr/lib/libnss_compat.so.2 during file-backed mapping note processing
warning: Can't open file /usr/lib/libthumbnail.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libshare_findex.so during file-backed mapping note processing
warning: Can't open file /usr/lib/librt.so.1 during file-backed mapping note processing
warning: Can't open file /usr/lib/libpthread.so.0 during file-backed mapping note processing
warning: Can't open file /usr/lib/libmediacenter.so during file-backed mapping note processing
warning: Can't open file /usr/lib/findex/libfileEvent.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libdsync_findex.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libalbum.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libm.so.6 during file-backed mapping note processing
warning: Can't open file /usr/lib/libc.so.6 during file-backed mapping note processing
warning: Can't open file /usr/lib/libjson-c.so.5.3.0 during file-backed mapping note processing
warning: Can't open file /usr/lib/libfiletype.so during file-backed mapping note processing
warning: Can't open file /usr/lib/libsqlite3.so.0.8.6 during file-backed mapping note processing
warning: Can't open file /usr/lib/libnas.so during file-backed mapping note processing
warning: Can't open file /usr/lib/ld-linux-aarch64.so.1 during file-backed mapping note processing
warning: Can't open file /nas/sys/findex/findex-2d653acd8e3fdd13.db-shm during file-backed mapping note processing
[New LWP 905473]
Core was generated by `findexd -f'.
Program terminated with signal SIGABRT, Aborted.
#0 0x0000007fb4a71c3c in ?? ()
(gdb) info sharedlibrary
No shared libraries loaded at this time.
(gdb) set sysroot /work/rootfs-dev
(gdb)
此时使用一个假的可执行文件 obj/findexd2
$ ${GDB} obj/findexd2 /work/core-findexd-121
(gdb) info sharedlibrary
warning: Could not load shared library symbols for 24 libraries, e.g. /usr/lib/libnas.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
From To Syms Read Shared Object Library
No /usr/lib/libnas.so
No /usr/lib/libsqlite3.so.0
No /usr/lib/libfiletype.so
No /usr/lib/libjson-c.so.5
No /usr/lib/libc.so.6
No /usr/lib/ld-linux-aarch64.so.1
No /usr/lib/libm.so.6
No /lib/findex/libalbum.so
No /lib/findex/libdsync_findex.so
No /lib/findex/libfileEvent.so
No /lib/findex/libmediacenter.so
No /usr/lib/libpthread.so.0
No /usr/lib/librt.so.1
No /lib/findex/libshare_findex.so
No /lib/findex/libthumbnail.so
No /usr/lib/libnss_compat.so.2
No /usr/lib/libnss_systemd.so.2
No /usr/lib/libcap.so.2
No /usr/lib/libcrypt.so.2
No /usr/lib/libmitrigram.so
No /usr/lib/libstdc++.so.6
No /usr/lib/libgcc_s.so.1
No /usr/lib/libname_sort.so
No /usr/lib/libpinyin.so
(gdb) set sysroot /work/rootfs-dev
warning: .dynamic section for "/work/rootfs-dev/usr/lib/libnas.so" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /work/rootfs-dev/usr/lib/libnas.so...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libnas.so)
Reading symbols from /work/rootfs-dev/usr/lib/libsqlite3.so.0...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libsqlite3.so.0)
Reading symbols from /work/rootfs-dev/usr/lib/libfiletype.so...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libfiletype.so)
Reading symbols from /work/rootfs-dev/usr/lib/libjson-c.so.5...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libjson-c.so.5)
Reading symbols from /work/rootfs-dev/usr/lib/libc.so.6...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libc.so.6)
Reading symbols from /work/rootfs-dev/usr/lib/ld-linux-aarch64.so.1...
(No debugging symbols found in /work/rootfs-dev/usr/lib/ld-linux-aarch64.so.1)
Reading symbols from /work/rootfs-dev/usr/lib/libm.so.6...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libm.so.6)
Reading symbols from /work/rootfs-dev/usr/lib/libpthread.so.0...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libpthread.so.0)
Reading symbols from /work/rootfs-dev/usr/lib/librt.so.1...
(No debugging symbols found in /work/rootfs-dev/usr/lib/librt.so.1)
Reading symbols from /work/rootfs-dev/usr/lib/libnss_compat.so.2...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libnss_compat.so.2)
Reading symbols from /work/rootfs-dev/usr/lib/libnss_systemd.so.2...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libnss_systemd.so.2)
Reading symbols from /work/rootfs-dev/usr/lib/libcap.so.2...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libcap.so.2)
Reading symbols from /work/rootfs-dev/usr/lib/libcrypt.so.2...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libcrypt.so.2)
warning: .dynamic section for "/work/rootfs-dev/usr/lib/libmitrigram.so" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /work/rootfs-dev/usr/lib/libmitrigram.so...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libmitrigram.so)
Reading symbols from /work/rootfs-dev/usr/lib/libstdc++.so.6...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libstdc++.so.6)
Reading symbols from /work/rootfs-dev/usr/lib/libgcc_s.so.1...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libgcc_s.so.1)
Reading symbols from /work/rootfs-dev/usr/lib/libname_sort.so...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libname_sort.so)
warning: .dynamic section for "/work/rootfs-dev/usr/lib/libpinyin.so" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /work/rootfs-dev/usr/lib/libpinyin.so...
(No debugging symbols found in /work/rootfs-dev/usr/lib/libpinyin.so)
(gdb)