linux下nm命令详解

worktile 其他 196

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    nm命令是Linux系统下的一个命令行工具,用于查看二进制文件或共享库中的符号表。它可以列出指定二进制文件中的函数、变量以及其他符号,并显示它们的地址和类型等信息。在Linux系统中,nm命令是开发和调试过程中非常有用的工具之一。下面将详细介绍nm命令的使用方法和一些常用选项。

    1. 命令语法

    nm命令的基本语法如下:

    nm [option] [file]

    其中,option是可选的命令选项,file是要查看符号表的二进制文件或共享库。

    2. 命令选项

    nm命令有一些常用的选项,下面列举其中一些常用的选项:

    -a或–debugsyms:输出所有的符号信息,包括调试符号;
    -g或–extern-only:只显示外部可见的符号;
    -p或–numeric-sort:按照符号的地址对输出进行排序;
    -r或–reverse-sort:按照反向顺序对输出进行排序;
    -u或–undefined-only:只显示未定义的符号;
    -v或–version:显示nm命令的版本信息。

    3. 示例用法

    下面是一些常用的nm命令的用法示例:

    3.1 查看二进制文件的符号表

    nm /usr/bin/ls

    这个命令将输出ls二进制文件中的符号表。

    3.2 查看共享库的符号表

    nm -D /usr/lib/libc.so

    这个命令将输出libc.so共享库中的符号表。

    3.3 只显示未定义的符号

    nm -u /usr/bin/ls

    这个命令将只显示ls二进制文件中未定义的符号。

    4. 结束语

    以上是对linux下nm命令的详细解释和示例用法。通过使用nm命令,我们可以方便地查看二进制文件或共享库中的符号表,从而对程序的结构和依赖关系进行分析和调试。希望以上内容对您有所帮助!

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    nm命令是Linux系统下的一个工具,用于查看二进制文件的符号表信息。它可以显示二进制文件中的符号名、地址、大小等信息。通过使用nm命令,我们可以了解到一个二进制文件中定义了哪些变量和函数,它们的地址和大小是多少。

    1. 查看符号表信息:使用nm命令可以查看一个二进制文件中的符号表信息。通过命令`nm filename`可以查看一个文件的所有符号。符号表信息包括符号的类型(函数、变量等)、名称、地址和大小等。这些信息对于了解一个二进制文件的结构和内容非常有帮助。

    2. 查找指定符号:nm命令可以用于查找指定符号的地址。通过命令`nm -D filename | grep symbolname`可以查找一个二进制文件中指定符号的地址。其中`-D`选项表示只显示动态符号。这对于调试和定位问题非常有用。

    3. 指定输出格式:nm命令可以指定不同的输出格式。通过使用`-p`选项,可以以十六进制格式显示地址。而使用`-A`选项,则可以将地址显示为符号的相对地址,以便于定位和调试。

    4. 查看依赖库:nm命令还可以查看一个二进制文件所依赖的库。通过命令`nm -D filename`可以显示二进制文件中使用的动态链接库。这对于解决依赖问题、检查库版本等非常有用。

    5. 查看调试信息:在编译时加入调试选项(如`-g`)后,nm命令可以查看二进制文件中的调试信息。通过命令`nm -D -S filename`可以显示二进制文件中的符号和对应的源代码行数。这对于调试和分析代码非常有用。

    总结起来,nm命令是Linux中一个非常有用的工具,可以用于查看和分析二进制文件的符号表信息、定位符号的地址、查看依赖库、查看调试信息等。它对于调试、分析和研究二进制文件非常有帮助。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    一、nm命令简介
    nm命令是linux下的一个二进制文件分析工具,用于显示二进制目标文件、可执行文件或共享库中的符号表信息。它可以显示目标文件或库文件中定义的函数、变量、符号以及它们的地址。

    二、nm命令的语法
    nm [选项] [文件…]

    三、nm命令的常用选项
    1. -A或–plugin:加载插件,用于分析特定格式的二进制文件。
    2. -B或–format=\:指定二进制文件的格式,BFDNAME为可用的格式名之一。
    3. –demangle[=\

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部