在Linux环境下,nm
命令用于列出目标文件中的符号。这些符号可以是函数、变量等。nm
命令对于调试、逆向工程以及了解程序的内部结构非常有用。
nm [选项] <目标文件>
-A
或 --print-file-name
:在每个符号前面打印出文件名。-C
或 --demangle
:对C++的符号进行解码,使其更易读。-D
或 --dynamic
:显示动态符号,而不是静态符号。-l
或 --line-numbers
:显示行号信息。-n
或 --numeric-sort
:按地址或索引排序,而不是按符号名称。-u
或 --undefined-only
:仅显示未定义的符号。-g
或 --extern-only
:仅显示外部符号。nm target_file.o
nm -D libexample.so
nm -C target_file.cpp.o
nm
命令的输出通常包含三列:地址、类型和符号名称。
nm
命令检查目标文件和库文件中的符号。nm
命令只能显示目标文件或库文件中的符号,不能直接显示可执行文件中的符号。要查看可执行文件中的符号,可以使用objdump
命令。-C
选项可以解码这些名称。希望这个解释能帮助你更好地理解nm
命令及其在Linux下的应用。
领取专属 10元无门槛券
手把手带您无忧上云