linux系统nm相关命令
-
nm命令是Linux系统中一个非常有用的工具,用于查看和分析二进制目标文件的符号表信息。这些符号表信息包括函数、变量、对象以及其他定义的符号的地址和类型等。nm命令可以帮助开发者了解目标文件中包含的符号信息,对于调试和分析程序非常有帮助。
下面介绍一些常用的nm命令及其功能:
1. nm -D 或者 nm –dynamic:列出动态符号表中的符号。动态符号表包含在可执行文件和动态链接库中共享的符号。
2. nm -s 或者 nm –size-sort:按照符号的大小进行排序,并打印出符号的大小。
3. nm -C 或者 nm –demangle:将C++的符号名进行反转义,更容易阅读。
4. nm -A 或者 nm –print-file-name:在每个符号的前面显示包含该符号的文件名。
5. nm -l 或者 nm –line-numbers:显示每个符号的行号,并与源代码进行关联。
6. nm -r 或者 nm –reverse-sort:按照字母顺序的相反顺序排列符号。
7. nm -u 或者 nm –undefined-only:只列出未定义的符号。
8. nm -p 或者 nm –portability:输出符号表的兼容格式。
以上是一些常用的nm命令选项,通过使用这些选项,我们可以根据需要进行符号表的查看和分析。在Linux系统中,nm命令是一个非常有用的工具,能够帮助开发者进行程序的调试和分析。
2年前 -
在Linux系统中,”nm”是一个非常有用的命令,用于查看和分析二进制程序中的符号表信息。下面是一些常用的”nm”命令及其功能解释:
1. nm [options]
:最基本的用法,查看指定文件中的符号表信息。可以使用多个文件作为参数,逐个查看它们的符号表。 2. nm -A
:以ASCII形式显示符号表信息。默认的输出格式是十六进制。 3. nm -n
:在符号表中显示每个符号的名字。 4. nm -C
:将C++的符号名还原成原始的形式。默认情况下,nm命令会对C++符号名进行名称修饰,以区分函数的重载和重写。 5. nm -D
:只显示动态符号表中的符号。动态符号表包含程序运行时需要的动态链接库中的符号。 6. nm -g
:只显示全局符号表中的符号。全局符号表包含程序中定义的全局变量和函数。 7. nm -p
:按照符号地址的顺序显示符号表。 8. nm -t d
:按照符号类型进行排序显示符号表。 9. nm -u
:只显示未定义的符号,即在当前文件中引用但未在当前文件中定义的符号。 10. nm -A -S
:以ASCII形式显示符号表信息,并显示每个符号的大小。 除了这些常用选项外,nm命令还有其他一些选项用于进一步定制输出的格式和内容。可以通过man nm命令查看更详细的帮助信息。使用nm命令可以帮助程序员从二进制文件中获取关于符号表的有用信息,从而更好地了解和调试程序。
2年前 -
在Linux系统中,经常会使用到一些与二进制文件相关的命令,其中一个常用的命令是`nm`。`nm`命令用于显示二进制文件中的符号表,它能够列出二进制文件中定义的符号的名称和值。
`nm`命令通常用于以下几个方面:
1. 查看二进制文件中的符号表:可以通过`nm`命令查看一个二进制文件中定义的符号。符号包括函数、全局变量、静态变量、常量等。
2. 检查库文件中的符号:可以通过`nm`命令查看一个库文件中定义的符号。通过这种方式,可以确定一个库文件中是否包含某个特定的符号,并查看该符号的名称和值。
下面是`nm`命令的一些常用选项和用法:
“`shell
nm [options]
“`常用选项:
– `-A`:显示所有符号,包括未导出的符号。
– `-C`:显示符号的特殊字符。
– `-D`:将动态符号表与静态符号表合并。
– `-g`:只显示外部(全局)符号。
– `-p`:显示符号的位置。
– `-u`:只显示未定义的符号。
– `-U`:只显示已定义的未使用符号。
– `-w`:禁用警告信息。
– `-f`:指定输出格式,如`posix`、`bsd`、`sysv`,默认是`sysv`。 其中,`
`参数指定要查看符号表的二进制文件。 下面是`nm`命令的一些使用示例:
1. 查看可执行文件中的符号:
“`shell
nm
“`这个命令会显示可执行文件中定义的符号,并包括它们的值和类型。
2. 查看库文件中的符号:
“`shell
nm“` 这个命令会显示库文件中定义的符号,并包括它们的值和类型。
3. 查看库文件中某个特定符号的信息:
“`shell
nm| grep
“`这个命令会显示库文件中符合条件的特定符号的信息。可以使用`grep`命令结合`nm`命令来进行筛选。
4. 查看库文件中未使用的符号:
“`shell
nm -U“` 这个命令会显示库文件中已定义但未使用的符号。
5. 使用其他格式输出:
“`shell
nm -f
“`这个命令可以使用不同的输出格式来显示符号表,如`posix`、`bsd`、`sysv`等。
此外,`nm`命令还有许多其他选项和用法。可以通过`man nm`命令查看`nm`命令的详细帮助文档。
2年前