跳转到内容

Ldd (Unix)

维基百科,自由的百科全书

LddList Dynamic Dependencies,意译为列出动态库依赖关系)是一款在类Unix系统的实用工具,负责在命令行内输出程序共享库所依赖的函数库[1]此工具由罗兰·麦克格拉斯英语Roland McGrath乌尔里希·德雷佩尔英语Ulrich Drepper开发。[2] Ldd在指定的程序缺少部分函数库的情况下将无法显示结果。

安全性

ldd是一个将指定程序作为参数传入的命令行脚本,用户不应该使用其打开不受信的函数库。ldd的手册页建议用户在打开不受信的二进制文件时使用objdumpgrep实用工具:

user@home ~/ $ objdump -p /path/program | grep NEEDED

用法

user@home ~/ $ ldd /usr/bin/mp3blaster
        linux-vdso.so.1 =>  (0x00007fff8fdff000)
        libsidplay.so.1 => /usr/lib/libsidplay.so.1 (0x00007f4ea98ec000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f4ea96e4000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f4ea94b6000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4ea9273000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4ea9056000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4ea8d41000)
        libm.so.6 => /lib/libm.so.6 (0x00007f4ea8abe000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4ea88a7000)
        libc.so.6 => /lib/libc.so.6 (0x00007f4ea8523000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f4ea831c000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f4ea8118000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4ea9b59000)

参考文献

  1. ^ ldd(1) – Linux man page. die.net. [December 28, 2011]. (原始内容存档于2022-05-06). 
  2. ^ ldd Source Code. stuff.mit.edu. [March 26, 2014]. (原始内容存档于2016-10-13).