精华内容
下载资源
问答
  • Linux:查看动态库/程序依赖的库
    千次阅读
    2022-03-12 14:36:05

    objdump命令

    # 查看依赖的库
    objdump -x xxx.so | grep NEEDED
    
    # 查看可执行程序依赖的库
    objdump -x ./testTime | grep NEEDED
    

    readelf命令

    # 查看依赖的库
    readelf -a xxx.so | grep "Shared"
    
    # 查看可执行程序依赖的库
    readelf -a ./testTime | grep "Shared"
    
    # 查看依赖的库
    readelf -d xxx.so
    readelf -d ./testTime
    
    # 查看静态库有哪些.o文件
    readelf -d xxx.a
    

    ldd命令

    # 查看依赖的库
    ldd xxx.so
    
    # 查看可执行程序依赖的库
    ldd ./testTime
    

    在服务端查看哪些进程在使用某一个so

    lsof  ***.so
    

    更多相关内容
  • 通过命令窗口查看动态库,可以看到dll中的函数及变量名
  • windows depends工具查看动态库依赖

    千次下载 热门讨论 2013-04-23 09:38:21
    windows depends工具(32位)查看动态库依赖 可以查看可执行文件所依赖的库 可以查看动态库所依赖的库
  • 运行可直接打开dll 并查看dll内部api以及关联的文件,
  • Depends动态库查看工具

    2018-09-11 14:59:49
    Depends是一款可以在windows下查看动态库(dll)的工具,可以查看的到动态库的函数名,依赖关系等...,是一款对开发很有好处的工具
  • windows DLL动态库函数查看软件,可以查看函数名和参数
  • Linux 下, 可用ldd 工具查看依赖,但ldd无法查看具体的依赖关系,推荐一个好用的工具: sudo apt install pax-utils lddtree *.so 你会得到一个依赖树: lddtree cv2.cpython-37m-x86_64-linux-gnu.so cv2....

    Windows 下使用工具:
    https://github.com/lucasg/Dependencies

    Linux 下, 可用ldd 工具查看依赖,但ldd无法查看具体的依赖关系,推荐一个好用的工具:

     sudo apt-get install pax-utils 
     lddtree  *.so
    

    你会得到一个依赖树:

    lddtree cv2.cpython-37m-x86_64-linux-gnu.so 
    cv2.cpython-37m-x86_64-linux-gnu.so => ./cv2.cpython-37m-x86_64-linux-gnu.so (interpreter => none)
        libpng15-ce838cd1.so.15.13.0 => ./../opencv_python.libs/libpng15-ce838cd1.so.15.13.0
        libavcodec-64ac49e1.so.58.91.100 => ./../opencv_python.libs/libavcodec-64ac49e1.so.58.91.100
            libswresample-83ce3247.so.3.7.100 => not found
            libvpx-392cd848.so.6.4.0 => not found
        libavformat-4b79e479.so.58.45.100 => ./../opencv_python.libs/libavformat-4b79e479.so.58.45.100
            libbz2-a273e504.so.1.0.6 => not found
            libssl-6082116c.so.1.1 => not found
            libcrypto-018b8c17.so.1.1 => not found
        libavutil-805734e8.so.56.51.100 => ./../opencv_python.libs/libavutil-805734e8.so.56.51.100
        libswscale-7e960168.so.5.7.100 => ./../opencv_python.libs/libswscale-7e960168.so.5.7.100
        libQt5Widgets-e69d94fb.so.5.15.0 => ./../opencv_python.libs/libQt5Widgets-e69d94fb.so.5.15.0
    scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='opencv_python.libs' in ./../opencv_python.libs/libQt5Widgets-e69d94fb.so.5.15.0
            libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1
                libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0
                    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6
                        libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1
                            libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6
                            libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6
                                libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0
                    libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6
                libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0
        libQt5Gui-ba0a2070.so.5.15.0 => ./../opencv_python.libs/libQt5Gui-ba0a2070.so.5.15.0
        libQt5Test-c38a5234.so.5.15.0 => ./../opencv_python.libs/libQt5Test-c38a5234.so.5.15.0
        libQt5Core-39545cc7.so.5.15.0 => ./../opencv_python.libs/libQt5Core-39545cc7.so.5.15.0
            libgthread-2.0.so.0 => /lib/x86_64-linux-gnu/libgthread-2.0.so.0
            libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0
                libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1
        libopenblas-r0-f650aae0.3.3.so => ./../opencv_python.libs/libopenblas-r0-f650aae0.3.3.so
            libgfortran-91cc3cb1.so.3.0.0 => not found
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
        ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
    
    
    展开全文
  • MacOS 查看动态库链接

    千次阅读 2019-08-22 17:09:42
    otool 查看动态库链接 bogon:bin ternence.hsu$ otool -L Cube Cube: /usr/local/opt/glew/lib/libGLEW.2.1.dylib (compatibility version 2.1.0, current version 2.1.0) /System/Library/Frameworks/Cocoa....

    otool 查看动态库链接

    下面栗子中查看 Cube的依赖动态库,实际可用换为自己需要查看的库。

    bogon:bin ternence.hsu$ otool -L Cube 
    Cube:
    	/usr/local/opt/glew/lib/libGLEW.2.1.dylib (compatibility version 2.1.0, current version 2.1.0)
    	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0)
    	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1575.17.0)
    	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
    	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
    	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1671.60.107)
    	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1265.9.0)
    	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1575.17.0)
    	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    
    展开全文
  • Linux 查看动态库依赖

    万次阅读 2019-06-25 16:04:39
    查看动态库依赖3种方法 (1) $ ldd /bin/grep linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7eca000) /lib/ld-linux.so.2 (0xb801e000) (2) $ LD_TRACE_LOADED_OBJECTS=...

    查看动态库依赖3种方法

    (1) $ ldd /bin/grep
            linux-gate.so.1 =>  (0xffffe000)
            libc.so.6 => /lib/libc.so.6 (0xb7eca000)
            /lib/ld-linux.so.2 (0xb801e000)
     
    (2) $ LD_TRACE_LOADED_OBJECTS=1 /bin/grep
            linux-gate.so.1 =>  (0xffffe000)
            libc.so.6 => /lib/libc.so.6 (0xb7e30000)
            /lib/ld-linux.so.2 (0xb7f84000)
     
    (3) $ LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux.so.2 /bin/grep
            linux-gate.so.1 =>  (0xffffe000)
            libc.so.6 => /lib/libc.so.6 (0xb7f7c000)
            /lib/ld-linux.so.2 (0xb80d0000)
    

    也可以通过readelf 查看:
    使用readelf,废话不多少,直接上例子:

    $ readelf -d /bin/ls | grep "Shared library"
     0x0000000000000001 (NEEDED)             Shared library: [libselinux.so.1]
     0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
     0x0000000000000001 (NEEDED)             Shared library: [libacl.so.1]
    

    另外LDD 的一个安全问题

    动态链接器是操作系统的一部分,负责按照可执行程序运行时的需要装入与链接共享库。装入是指把共享库在永久存储上的内容复制到内存,链接是指填充跳转表(jump table)与重定位指针。
    其中:
    ld.so是Unix或类Unix系统上的动态链接器,常见的有两个变体:

    ld.so针对a.out格式的二进制可执行文件
    ld-linux.so针对ELF格式的二进制可执行文件

    展开全文
  • linux查看动态库/程序依赖的库

    千次阅读 2020-01-17 15:16:55
    阅读目录objdump命令readelf命令ldd...# 查看依赖的 objdump -x xxx.so | grep NEEDED # 查看可执行程序依赖的 objdump -x ./testTime | grep NEEDED readelf命令 # 查看依赖的 readelf -a xxx.so | grep "S...
  • 动态库接口查看工具

    2017-09-28 11:36:57
    可以查看动态库的接口,方便确定动态库提供哪些接口。
  • 查看动态库.so中依赖库

    千次阅读 2018-08-16 20:51:40
    最近因升级Android P需要去除编译出来的动态库中的libstdc++.so和libandroid.so的依赖,在进行验证是否去除相关库依赖时可以采用如下方法: 1、使用readelf命令 在控制台使用命令readelf -d后面加上需要验证的...
  • c++查看动态库中函数地址

    千次阅读 2018-05-07 16:59:25
    我们知道在生成动态库时,如果使用.def文件.那么可以在.def中定义函数地址即例: add @1这种方式.但毕竟这是一种取巧的方式,如果你想获得任何一个动态库中函数地址,那么我这边可以提供两个方法.(1)使用vs自带的功能我...
  • Linux查看动态库.so导出函数列表

    千次阅读 2019-07-26 14:32:56
    有两种方式: 1.使用objdump命令。 例如:objdump -tT xxx.so 2.使用nm命令(个人觉得使用nm方式查看更方便。) 例如 nm -D xxx.so ...该选项仅对于动态库有意义) 得到的结果中以T开头的就是导出函数 ...
  • 1.首先打开vc2013(vc2015)的 "VS2013 x86 本机工具命令提示" ...2.在window下查看动态库的导出函数可以用vs自带的Dependenc工具; 查看静态库的信息要用命令行来实现: dumpbin /LINKERMEMBER *.li...
  • linux命令之查看动态库符号-nm

    千次阅读 2017-11-22 16:46:36
    在调用动态库的时候,由于动态库接口修改或者版本不匹配出现调用动态库找不到函数接口符号的情况。 原因可能有如下几种: 1.由于c++动态库编译没有加extern c导致函数编译时加了c++的前缀的; 2.系统中有多个库,...
  • 一个例子,记录一下,以后会用到 strings libdrv.so | grep BrdReInitAllGMPU
  • strings命令是在对象文件或者二进制文件中查找可打印的字符串,有很多的用途,例如一个用法就是在编译的so中定义字符串常量作为动态库的版本号,然后就可以使用strings+grep 组合命令查看当前编译的so的版本号了。...
  • 使用Microsoft Visual Studio自带的工具查看动态库依赖 本机上安装有VS,在菜单栏中可以找到以下选项 点开后在 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC> 后输入命令,dumpbin /...
  • 查看动态库so命令

    万次阅读 2013-11-04 17:32:40
    linux下查看动态库和静态库 静态库用ar -t YourFile 动态库用 nm -D YourFile 下面是ar和nm命令的一些参数说明 1.ar基本用法  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一...
  • Mac查看Android动态库依赖

    千次阅读 2022-03-31 15:59:36
    aarch64-linux-android-readelf -d *.so 该命令位于目录:Users/admin/Library/Android/sdk/ndk/21.3.6528147/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin下,可以写到环境变量中
  • vs自带查看动态库dll信息的工具

    万次阅读 2017-06-01 16:42:32
    使用VS的工具dumpbin查看动态库信息
  • 这时需要查看可执行程序或者动态库中的符号表,动态库的依赖项, Linux 有现成的工具可用:objdump 。 objdump 是 gcc 套件中用来查看 ELF 文件的工具,具体详细用法不进行介绍,此处只讲解如何进行一个动态库和静态...
  • 一款很好的小工具,可以检测你用的exe或者dll文件依赖哪些动态库,为你的程序调试,部署提供方便,排除一些在其他机子上不能运行的怪问题。
  • Android 查看动态库依赖的库文件

    千次阅读 2017-09-05 10:01:34
      最近工作过程中,遇到了一个库文件打开失败的问题,需要查看so文件依赖哪些动态库。之前看到有同事用到ldd命令,但是本地使用ldd命令来解析arm的动态库是不行的。 armwind# ldd libcameraservice.so not a ...
  • 通过readelf查看动态库中的内容

    千次阅读 2014-11-17 14:12:39
    readelf是unix下查看库中链接的内容工具。 mac下的安装以及使用方法: 1、下载binutils-2.24.tar.gz 2、解压 3、安装 ./configure --disable-werror make make install 4、查看可执行文件中链接进去的内容:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 356,788
精华内容 142,715
关键字:

查看动态库