这是一些输出。我找到了 gdb 手册,但共享库信息没有解释输出列的含义。有人可以告诉我“读取”列表示什么以及它对于具有 (*) 的行意味着什么吗?我正在尝试在 rhel8 上调试为什么有两个 libcrypto 实例被读取。
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007fffe91d53d0 0x00007fffe91df040 Yes (*) /lib64/libcrypto.so.1.1
0x00007fffe8f52380 0x00007fffe8fad973 Yes (*) /lib64/libpcre2-8.so.0
0x00007fffe8c93700 0x00007fffe8e09a03 Yes /data/repos/ext/lib/linux/64/libcrypto.so.1.0.0
0x00007fffe8bbc870 0x00007fffe8c0c670 Yes /data/repos/ext/lib/linux/64/libssl.so.1.0.0
对于具有
的行意味着什么?(*)
您显示的输出后面应该有一行解释:
(*): Shared library is missing debugging information.
这些库有一个
.gnu_debuglink
部分,表明它们的调试信息应该可用,但当前系统上不存在该信息,或者库本身的版本与调试信息文件之间不匹配可用。