如何让GDB详细输出共享库搜索过程并替换core文件中的库
让GDB显示共享库加载路径的调试方法
要让GDB输出查找共享库时尝试的所有路径,你可以用这几个方法:
启用GDB内置的共享库调试开关:
set debug solib on开启后,GDB会详细打印每个共享库的查找过程——包括它尝试的每一个候选路径、是否匹配成功,甚至加载时的符号处理细节,完全满足你类似
set debug auto-load on的需求。如果需要更底层的动态链接器查找日志,可以在启动GDB时带上
LD_DEBUG环境变量:LD_DEBUG=libs gdb <你的可执行文件> <core文件>这个变量会触发动态链接器
ld.so输出所有库的搜索细节,比如遍历的系统目录、尝试的文件名、版本匹配情况等。
另外,如果你是为了替换core文件对应的库,除了查看路径,还可以主动指定GDB的库搜索路径:
set solib-search-path /path/to/your/custom/libs
如果是交叉调试场景,用set sysroot指定完整的根文件系统路径会更合适:
set sysroot /path/to/your/target/sysroot
内容的提问来源于stack exchange,提问作者Hugal31
相关产品推荐
相关产品推荐

