linux的nm命令用法
-
nm命令是Linux系统中的一个工具,用于查看二进制可执行文件、目标文件和共享库中的符号表信息。它可以显示函数、变量、对象以及这些符号的地址和类型等信息。
使用nm命令的基本语法如下:
nm [选项] 文件其中,选项包括:
– -A或者–with-all:显示所有符号,包括未导出的符号;
– -a或者–debug-syms:显示调试符号;
– -D或者–dynamic:显示动态符号表;
– -f或者–format=<格式>:指定输出格式,默认为sysv格式;
– -p或者–portability:提供更大的兼容性,使用POSIX标准选项;
– -t或者–defined-only:只显示已定义的符号;
– –demangle:以可读的方式显示C++符号名;
– –defined-only:仅显示已定义的符号;
– –extern-only:只显示外部符号;
– –format=<格式>:指定输出格式;
– –no-sort:不对符号进行排序;
– –print-armap:打印ar格式库文件;
– –size-sort:按照符号大小进行排序;
– –special-syms:显示特殊符号;
– –synthetic:显示合成/虚拟符号。通过nm命令,我们可以获得二进制可执行文件、目标文件和共享库中的符号表信息,以便于我们分析和调试程序。在进行系统调试、性能优化以及代码分析时,nm命令是一个非常有用的工具。
2年前 -
nm命令是Linux中的一个工具,用于查看目标文件(如可执行文件、静态库、共享库)的符号表。它可以显示出目标文件中的函数和变量符号的地址和类型信息,对于调试和分析程序非常有用。下面是一些常用的nm命令用法:
1. 基本用法
nm命令的基本用法是在终端中输入`nm`后跟上要查看的目标文件的路径,例如`nm /usr/lib/libc.so`。如果不指定目标文件路径,则默认查看当前目录下的a.out文件的符号表。2. 显示所有的符号
使用`-A`选项可以显示目标文件中的所有符号,包括函数、变量、外部函数等。例如`nm -A /usr/lib/libc.so`会显示出libc库中所有的符号。3. 过滤显示符号
nm命令还可以根据特定的符号类型进行过滤显示。常用的选项包括:
– `-u`:只显示未定义符号,即引用了但没有定义的符号。
– `-D`:只显示已定义符号,即被其他文件引用的符号。
– `-t`:只显示全局符号,不包括局部符号。
– `-C`:以C++的方式解析符号名。4. 显示符号地址
使用`-a`选项可以显示目标文件中的符号地址。地址可以是相对地址,也可以是绝对地址。相对地址是相对于文件起始地址的偏移量,绝对地址是指具体的内存地址。例如`nm -a /usr/lib/libc.so`会显示libc库中所有符号及其地址。5. 列出动态符号表
使用`-D`选项可以列出目标文件中的动态符号表。动态符号表包含由动态链接器解析的函数和变量符号。例如`nm -D /usr/lib/libc.so`会列出libc库中的动态符号。总结:
nm命令是Linux中用于查看目标文件符号表的工具,它可以显示函数和变量符号的地址和类型信息。常用的用法包括基本用法、显示所有符号、过滤显示符号、显示符号地址和列出动态符号表。通过使用不同的选项,我们可以根据需要获取所需的符号信息。2年前 -
“nm”命令是一个用于分析目标文件中的符号表的工具,可用于显示目标文件中定义的函数、变量以及其他符号的信息。它可用于静态库和可执行文件。
下面是”nm”命令的常见用法和操作流程:
1. 基本用法:
在命令行中输入以下命令格式:
“`
nm [选项] <目标文件>
“`其中,`[选项]`是可选的,`<目标文件>`是要分析的目标文件的路径或文件名。
2. 常用选项:
– `-A`:显示目标文件中所有符号的信息,包括函数、变量以及其他符号的地址、大小、类型等。
– `-C`:显示符号的名称(函数名、变量名)。
– `-D`:显示动态链接符号。
– `-u`:显示未定义(未引用)的符号。
– `-t`:按字母顺序对符号进行排序。
– `-r`:反向排序,按字母顺序对符号进行反向排序。
– `-l`:显示符号所在的文件名和行号。
– `-S`:显示每个符号的大小。
– `-g`:显示所有调试符号。3. 示例:
– 显示目标文件中的所有符号:
“`
nm <目标文件>
“`– 显示目标文件中的符号及其地址:
“`
nm -A <目标文件>
“`– 显示目标文件中的未定义符号:
“`
nm -u <目标文件>
“`– 显示目标文件中的符号及其名称:
“`
nm -C <目标文件>
“`4. 其他操作:
– 分析静态库文件:
“`
nm -A -l <静态库文件>
“`– 分析可执行文件:
“`
nm -D <可执行文件>
“`– 结合其他命令:
`nm`命令可以与其他命令结合使用,如`grep`命令进行过滤符号信息,`awk`命令进行格式化输出等。
以上是关于”nm”命令的用法和操作流程的介绍。希望能对您有所帮助!
2年前