V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
L0neyer
V2EX  ›  Linux

关于 linux 命令 ldd 使用问题

  •  
  •   L0neyer · 2016-06-30 18:04:59 +08:00 · 3155 次点击
    这是一个创建于 3067 天前的主题,其中的信息可能已经有所发展或是发生改变。
    
    [root@localhost]# ldd /sbin/sln /sbin/ldconfig /bin/ln
    /sbin/sln:
    	not a dynamic executable
    /sbin/ldconfig:
    	not a dynamic executable
    /bin/ln:
    	linux-vdso.so.1 =>  (0x00007fff171ff000)
    	libc.so.6 => /lib64/libc.so.6 (0x00007ffe80b09000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007ffe80eae000)
    [root@localhost]# ldd TESTMobile 
    	not a dynamic executable
    

    使用 ldd 的时候 有时候会显示 not a dynamic executable 。

    8 条回复    2016-07-01 09:07:36 +08:00
    hitmanx
        1
    hitmanx  
       2016-06-30 18:21:27 +08:00
    静态链接的?
    hitmanx
        2
    hitmanx  
       2016-06-30 18:26:01 +08:00
    哦,看了下 /sbin/ldconfig 是个 shell script
    msg7086
        3
    msg7086  
       2016-06-30 21:00:23 +08:00
    静态链接的话是会这么说的。
    L0neyer
        4
    L0neyer  
    OP
       2016-06-30 21:46:53 +08:00
    @msg7086 linux 上又类似 mac otool 的工具么?我试了下 otool 可以 但是 ldd 就不行了。 ldd 对好多都显示的是 not a dynamic executable 。
    owt5008137
        5
    owt5008137  
       2016-06-30 22:12:46 +08:00 via Android
    @L0neyer ldd 只能分析二进制文件,然而你列举的那些 not a dynamic executable 都是脚本,不是二进制。
    想看符号表可以用 nm ,想看 elf 可以 readelf
    L0neyer
        6
    L0neyer  
    OP
       2016-06-30 22:16:00 +08:00
    @owt5008137 我分析的那个文件就是二进制文件。
    arakashic
        7
    arakashic  
       2016-07-01 02:31:04 +08:00
    显示 not a dynamic executable 说明你的 binary 是静态链接的而已。
    owt5008137
        8
    owt5008137  
       2016-07-01 09:07:36 +08:00 via Android
    @L0neyer file 或者 readelf 看下?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2493 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:30 · PVG 09:30 · LAX 17:30 · JFK 20:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.