dump 命令

用途

转储命令选择对象文件的几个部分。

语法

转储 { -a -c -d -g -h -l -n -o -p-r -s -t -u -v -H -R -T} [ -zName [,Number ] [ + zNumber ] [-tIndex [ + tIndex ]] [ -X {32|64|32_64|d64|any}] File ...

注: 请勿在 -z Name 标志与Number 参数之间放置空格。

描述

dump 命令转储指定的 File 参数的所选部分。 命令 dump 可以接受对象文件、压缩文件,以及可执行文件。

标志

描述
-a 转储每个规定的压缩文件成员的压缩头。
-c 转储字符串表。
-d 转储每个区域中的原始数据。
-g 在压缩文档的符号表中转储全局符号。
-h 转储区域头。
-l 转储行号信息。
-n 转储所有装载者区域的信息。
-O 转储每个可选头。
-p 取消报头打印。
-r 转储重定位信息。
-s 转储每个选择的原始数据。
-t 转储符号表条目。
-t索引 仅转储索引符号表条目,由 Index 参数设定。 使用 -t 标志和 +t 标志来指定符号表条目的范围。
+ t索引 转储符号条目的范围以 Index 参数为结尾。 范围开始于第一个符号表条目或由 -t 标志指定的条目。
-U File 参数的名称下加下划线。
-v 转储符号表示的信息而不是数值。 除了标志 -o 和标志 -s 外,任何标志都可以和 -v 标志连用。
-z名称[,Number] 转储 Name 参数的行号条目或者以指定数字开始的行号条目范围。
+ z数字 将所有行号都转储到 Number 参数中。
-h 转储装载者区的报头。 标志 -H 只能应用于可执行文件。
-R 转储引导区的重定位条目。 标志 -R 只能应用于可执行文件。
-t 转储装载者区的符号表条目。 标志 -t 只能应用于可执行文件。
-X 方式 指定了 damp 应进行检查的对象文件的类型。 mode 必须是以下各项中的一个:
32
只能处理 32 位的对象文件。
64
只能处理 64 位的对象文件。
32_64
处理 32 位和 64 位对象文件。
d64
检查不连续的 64 位 XCOFF 文件(幻数 = U803XTOCMAGIC)。
any
处理所有支持的对象文件。

缺省值为处理 32 位对象文件(忽略 64 位对象文件)。 mode 也可用 OBJECT_MODE 环境变量来设置。 例如,OBJECT_MODE=64 使 dump 仅处理 64 位的对象而忽略 32 位的对象。 -X 标志覆盖 OBJECT_MODE 变量。

示例

  1. 要转储a.out文件,请输入:
    dump -c a.out
  2. 要将 XCOFF 数据部分的内容转储到标准输出,请输入:
    dump -d a.out
  3. 要转储对象文件头,请输入:
    dump -o a.out
  4. 要转储以下对象的行号信息:a.out文件,请输入:
    dump -l a.out
  5. 要转储以下对象的重定位信息:a.out文件,请输入:
    dump -r a.out
  6. 要转储a.out对象文件文本部分,请输入:
    dump -s a.out
  7. 要转储符号表信息,请执行以下操作:a.out对象文件,请输入:
    dump -t a.out
  8. 要打印符号表条目2031如果没有头信息,请输入:
    dump -p -t20 +t30 a.out
  9. 要只从 lib.a 中的 64 位对象转储对象文件头时,请输入:
    dump -X64 -o lib.a