http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html

用途

显示关于对象文件、可执行文件以及对象文件库里的符号信息。

语法

nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -tFormat ] File ...

描述

nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。 如果文件没有包含符号信息,nm 命令报告该情况,但不把它解释为出错条件。 nm 命令缺省情况下报告十进制符号表示法下的数字值。

nm 命令把以下符号信息写入标准输出:

  • 库或对象名

    如果您指定了 -A 选项,则 nm 命令 只报告与该文件有关的或者库或者对象名。

  • 符号名称
  • 符号类型

    nm 命令使用以下符号(用同样的字符表示弱符号作为全局符号)之一来表示文件符号类型:

    A Global absolute 符号。
    a Local absolute 符号。
    B Global bss 符号。
    b Local bss 符号。
    D Global data 符号。
    d Local data 符号。
    f 源文件名称符号。
    T Global text 符号。
    t Local text 符号。
    U 未定义符号。
  • 大小

    如果可应用,nm 命令报告与符号有关的大小。

标志

-A 每行或者显示全路径名称或者显示对象库名。
-B 在 Berkeley 软件分发(BSD)格式中显示输出:

值   类型   名称
-C 限制解码(demangle) C++ 名称。缺省是解码所有 C++ 符号名。

注:
C++ 对象文件中的符号在被使用前它们的名称已经被解码了。
-d 用十进制显示符号的值和大小。这是缺省的。
-e 只显示静态的和外部的(全局)符号。
-f 显示完整的输出,包括冗余的 .text、 .data 以及 .bss 符号,这些在通常都是被限制的。
-g 只显示外部的(全局)符号。
-h 限制输出头数据的显示。
-l 通过给 WEAK 符号的编码键附加一个 * 来区分 WEAK 和 GLOBAL 符号。 如果和 -P 选项一起使用, WEAK 符号的符号类型显示如下:

V
Weak Data 符号
W
Weak Text 符号
w
Weak 未定义符号
Z
Weak bss 符号
-o 用八进制而不是十进制数来显示符号的值和大小。
-P 以标准可移植输出格式显示信息:

库/对象名  名称   类型   值   大小

该格式以十六进制符号表示法显示数字值,除非您用 -t、-d 或 -o 标志指定不同的格式。

如果您指定了 -A 标志 -P 标志只显示 库/对象名字段。同样,-P 标志只显示大小适用的符号大小字段。

-p 不排序。输出按符号表顺序打印。
-r 倒序排序。
-T 把可能会溢出它的列的每个名字截短,使显示的名字的最后一个字符是星号(*)。 缺省情况下,nm 显示列出的符号的全名,并且一个比为其设置的列的宽度长的名称会引起名称后的每个列无法对齐。
-t Format 显示指定格式下的数字值,其中 Format 参数是以下符号表示法之一:

d
十进制符号表示法。这是 nm 命令的缺省格式。
o
八进制符号表示法。
x
十六进制符号表示法。
-u 只显示未定义符号。
-v 按值而不是按字母表顺序排序输出。
-x 用十六进制而不是十进制数来显示符号的值和大小。
-X mode 指定 nm 应该检查的对象文件的类型。 mode 必须是下列之一:

32
只处理 32 位对象文件
64
只处理 64 位对象文件
32_64
处理 32 位和 64 位对象文件

缺省是处理 32 位对象文件(忽略 64 位对象)。 mode 也可以 OBJECT_MODE 环境变量来设置。例如,OBJECT_MODE=64 使 nm 处理任何 64 位对象并且忽略 32 位对象。 -X 标志覆盖 OBJECT_MODE 变量。

注:
nm 命令支持 -- (双连字符)标志。如果文件名会被曲解为一个选项,该标志区别于 File 操作数。 例如,要指定文件名以连字符开始,请使用 -- 标志。

退出状态

该命令返回下列出口值:

0 成功完成。
>0 发生错误。

示例

  1. 列出 a.out 对象文件的静态和外部符号,请输入:

    nm -e a.out
  2. 以十六进制显示符号大小和值并且按值排序符号,请输入:
    nm -xv a.out
  3. 显示 libc.a 中所有 64 位对象符号,忽略所有 32 位对象:
    nm -X64 /usr/lib/libc.a

nm 命令 程序符号信息查看相关推荐

  1. linux+nm+内容详解,【Linux】nm命令中符号类型详解

    DATE: 2018.11.13 nm命令介绍的很多,但大多不介绍其函数符号标志的含义. 最近在调试动态库时常用到,其中用的最多的用法: nm -A * |grep "aaa" | ...

  2. nm命令中符号类型详解

    nm命令介绍的很多,但大多不介绍其函数符号标志的含义. 最近在调试动态库时常用到,其中用的最多的用法: nm -A * |grep "aaa" | c++filt  // -A 为 ...

  3. linux tail日志命令,linux tail命令及其它日志查看命令的用法

    当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat L ...

  4. ldd命令 ubuntu_ldd命令,查看依赖的动态库信息 nm命令可以列出一个函数库文件中的符号表...

    ldd命令的作用是查看程序依赖的动态链接库信息.使用nm命令也可以获取库函数的信息:nm命令可以列出一个函数库文件中的符号表,它对静态的库函数和共享的库函数都能起作用. Linux动态库的默认搜索路径 ...

  5. Linux 内核模块符号信息以及strip命令

    文章目录 前言 一.strip 1.1 GNU Binutils 1.2 strip 二.使用步骤 2.1 demo 2.2 strip --strip-debug 2.3 符号信息 2.3.1 查看 ...

  6. Linux objdump命令(反汇编、查看符号)

    文章目录 概述 参数 实例 objdump反汇编用法示例 参考 概述 objdump可以干什么? objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了 ...

  7. nm命令 查看符号文件

    nm命令介绍的很多,但大多不介绍其函数符号标志的含义. 最近在调试动态库时常用到,其中用的最多的用法: nm -A * |grep "aaa" | c++filt // -A 为了 ...

  8. linux查看vm_type,【心得,备忘录】查看vmlinux的符号信息

    文件: GCC 中文手册.pdf 大小: 344KB 下载: ld的中文手册: 这里还有一本书  还不错介绍ELF. 用xx-objdump来查看binary的信息,尤其是调试信息 这几天,一直在研究 ...

  9. Linux命令帮助信息查看

    文章目录 Linux命令帮助信息查看方式 help的使用 内部命令和外部命令类型查询 help使用命令 man的使用 man使用说明 man目录说明 命令格式中字符含义 Linux命令帮助信息查看方式 ...

最新文章

  1. apache php 调优_Apache的性能优化(二)
  2. warning: incompatible implicit declaration of built-in function ‘exit’
  3. Luogu 4284 [SHOI2014]概率充电器
  4. mini2440驱动分析之LCD
  5. Oracle 不同故障的恢复方案
  6. 6-4 链表逆置 (10 分)
  7. Swift @escaping @noescape
  8. TikZ绘图示例——尺规作图: 椭圆的近似画法
  9. 数据库修改后 前台同步更新 php,PHP实现前台页面与MySQL的数据绑定、同步更新...
  10. ElasticSearch学习(五):数据导入之Logstash
  11. 【CV】图像恢复(去噪,去模糊,超分)模型 DPDNN 论文笔记
  12. Windows Media Player 播放.WMV文件破解许可证
  13. 安装软件出现错误处理:internal error2503/2502
  14. 2.10 窗口的拆分与隐藏 [原创Excel教程]
  15. 微型计算机只能识别的语言,计算机唯一能直接识别和处理的语言是( )。
  16. 人工智能软件的分析与验证(1) - AI软件的可靠性与落地方法
  17. 基于WSL2+NVIDIA Docker的开发环境最佳实践
  18. java有丰富的库,【判断题】Java有丰富的库供我们调用 A. 正确 B. 错误
  19. link: unknown option -- n
  20. 项目管理优秀的工作分解结构WBS 8大必选项

热门文章

  1. vue函数input输入值即请求,优化为用户输入完成之后再请求
  2. php计算器等号没反应,为什么按等号没有反应?
  3. 子恩域名授权系统2.0全解无加密无授权版盗版入库源码
  4. paascloud商城系统源码v2.0-完整购物流程和后端运营平台
  5. 如何在PHP开启gzip页面压缩实例
  6. FullCalendar 二:FullCalendar日历插件说明文档
  7. 动态规划——How to Type(hdu2577)
  8. JSON——入门语法、对象、数组
  9. 【今日CV 视觉论文速览】 7 Feb 2019
  10. 【课程】MIT最新深度学习课程集