【发布时间】:2010-11-17 21:53:08
【问题描述】:
我做核心分析时是否可以指定共享库的相对路径(我想在编译时而不是调试时指定相对路径)
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007f4433ffef00 0x00007f443402cc08 Yes (*) /lib/libssl.so.0.9.8
0x00007f44334d6a00 0x00007f44335e9920 Yes /lib/libc.so.6
0x00007f443423eaf0 0x00007f4434257994 Yes /lib64/ld-linux-x86-64.so.2
No ./lib/myplugin.so
No /opt/lib/mylibc.so
0x00007f443237a190 0x00007f443237d7f8 Yes /lib/librt.so.1
0x00007f44320f8ef0 0x00007f44321392d8 Yes /lib/libm.so.6
0x00007f4431ee08b0 0x00007f4431eeffe8 Yes (*) /lib/libgcc_s.so.1
我会更具体地说明什么和为什么不适合我:
- LD_LIBRARY_PATH 可以指定相对于当前工作目录的相对路径。这不符合我的需要,因为我需要相对于可执行文件位置的相对路径
- 带有 $ORIGIN 的 RPATH 旨在作为相对于可执行文件位置的相对路径。但它不适合我的需求,因为当我尝试进行核心分析时它会扩展到绝对路径。
那么我如何指定共享库相对于可执行文件位置的相对路径?
【问题讨论】:
标签: gdb shared-libraries relative-path coredump