ld 常见问题
显示依赖的动态库
如果有 ldd
命令可以直接使用 ldd
命令,没有的话也可以:
~# LD_TRACE_LOADED_OBJECTS=1 /bin/true
linux-vdso.so.1 => (0x00007fffc4fff000)
libc.so.6 => /lib64/libc.so.6 (0x0000003cc9e00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003cc9a00000)
显示 auxv
正在运行的程序可以通过 /proc/PID/auxv
来读取 auxv(auxiliary vector)数据,也可以指定 LD_SHOW_AUXV
在运行时显示 auxv 信息:
~# LD_SHOW_AUXV=1 /bin/true
AT_SYSINFO_EHDR: 0x7fff2b99d000
AT_HWCAP: f8bf3ff
AT_PAGESZ: 4096
AT_CLKTCK: 100
AT_PHDR: 0x400040
AT_PHENT: 56
AT_PHNUM: 8
AT_BASE: 0x0
AT_FLAGS: 0x0
AT_ENTRY: 0x400f70
AT_UID: 0
AT_EUID: 0
AT_GID: 0
AT_EGID: 0
AT_SECURE: 0
AT_RANDOM: 0x7fff2b935299
AT_EXECFN: /bin/true
AT_PLATFORM: x86_64