ldd 查看动态链接库

发布时间: 更新时间: 总字数:350 阅读时间:1m 作者: IP上海 分享 网址

Linux 中 ldd(List Dynamic Dependencies) 可以列出可执行程序的动态库依赖关系,常用来查看可执行程序运行所需的共享库,在解决程序依赖关系中使用的比较多。

help

$ ldd --help
Usage: ldd [OPTION]... FILE...
      --help              print this help and exit
      --version           print version information and exit
  -d, --data-relocs       process data relocations
  -r, --function-relocs   process data and function relocations
  -u, --unused            print unused direct dependencies
  -v, --verbose           print all information

For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

demo

查看 Nginx 的动态依赖库:

$ ldd /usr/sbin/nginx
	linux-vdso.so.1 =>  (0x00007ffed8993000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fad30627000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fad3040b000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fad301d4000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fad2ff72000)
	libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fad2fce2000)
	libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fad2f7ff000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fad2f5e9000)
	libprofiler.so.0 => /lib64/libprofiler.so.0 (0x00007fad2f3d5000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fad2f008000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fad30b70000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007fad2ee05000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fad2eafe000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fad2e7fc000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fad2e5e6000)

类似的命令

  • ldd 命令可以用于分析可执行文件的依赖
  • file 命令用于分析文件的类型
  • ltrace 的功能是能够跟踪进程的库函数调用
  • strace 命令可以用于追踪程序运行过程中的系统调用及信号
  • hexdump 命令用来查看二进制文件的 16 进制编码
  • strings 命令可以用来打印二进制文件中可显示的字符
  • readelf 一般用于查看 ELF 格式的文件信息
  • objdump 是用查看目标文件或者可执行的目标文件的构成的 GCC 工具
  • nm 命令主要是列出目标文件的符号
本文总阅读量 次 本站总访问量 次 本站总访客数
Home Archives Categories Tags Statistics