收藏 分销(赏)

Dumpbin工具参数详解.doc

上传人:pc****0 文档编号:7792556 上传时间:2025-01-17 格式:DOC 页数:4 大小:57KB 下载积分:10 金币
下载 相关 举报
Dumpbin工具参数详解.doc_第1页
第1页 / 共4页
Dumpbin工具参数详解.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
Dumpbin工具参数详解 Dumpbin简介 DUMPBIN是在Windows平台下用于显示COFF格式文件信息的一个命令行工具。你可以使用DUMPBIN去显示COFF格式的文件信息,比如像vc编译器生成的目标文件(obj),可执行文件(exe)和动态链接库(DLLs)等。 注:此工具只能在命令行下使用。 语法格式 DUMPBIN [options] files...或 DUMPBIN files... [options] 说明: 1. 你可以指定一个或多个二进制文件(COFF格式)以及同时使用多个参数去控制信息的输出。DUMPBIN可以将这些信息输出到标准设备和一个文件中。命令如下: DUMPBIN /ALL /OUT:b.txt Test1.obj Test2.obj DUMPBIN /ALL Test1.obj Test2.obj >b.txt 2. 如果你没有给DUMPBIN指定任何选项,它将等同于使用了/SUMMARY参数。 3. 如果你没有指定任何输入文件,它将列出所有的选项。 参数详解 参数的使用可以用”-“或者”/”(-ALL等于/ALL)后面跟选项名。有些选项可以在选项名后接”:”正如前面实例一样在输出文件的选项时使用了/OUT:b.txt。使用空格或则制表符(Tab)分割命令选项。选项名,关键字和文件名是不区分大小写的。大多数的参数可以应用于所有的二进制文件。有少部分参数只能用于特定的文件。默认的DUMPBIN输出信息到标注输出设备(屏幕),只有使用了/OUT或者”>”时可以将文件输入到外部文件中。 /ALL 显示除”code disassembly”以外的所有信息。可以使用/DISASM选项来显示”code disassembly”。使用/RAWDATA:NONE和/ALL去删除每个段中的二进制数据。 /ARCHIVEMEMBERS 显示库中成员的基本信息。 /CLRHEADER file 公共语言运行时。可参考微软官网的相关信息。 /DEPENDENTS 显示出所依赖的DLLs的名字,但不现实导入函数的名字。 /DIRECTIVES 显示编译器产生的.drective(链接时的参数)段中的信息。 /DISASM 显示代码段反汇编的结果。/DISASM should only be used on native (not managed) images.(大概意思:不能使用在微软的C++“标准“中)。 /ERRORREPORT[NONE | PROMPT | QUEUE | SEND ] 如果dumpbin.exe在运行时失败,你能使用”/ERRORREPORT”这个参数去发送错误信息到微软。更多 /EXPORTS 显示可执行文件或DLL中导出的所有信息。 /FPO 显示FPO( frame pointer optimization)记录。 /HEADERS 显示文件和每个段的头部信息。当使用一个库文件时,它显示的是每个成员对象的头部信息。 /IMPORTS[:file] 显示可执行文件或DLL文件中导入的DLL文件和它的函数列表。 /LINENUMBERS 如果编译时使用了/Zi,/C7/Zd选项,行编号才存在于目标文件中,或者在连接时产生了调试信息是才能够显示行编号。 /LINKERMEMBER[:{1|2}] 这个选项显示定义在库中的全局符号。如果”1”被指定将以对象的顺序显示对象以及他们相应的偏移量,如果”2”被指定将显示偏移和对象成员的索引,然后以字母顺序排序。 /LOADCONFIG 这个选项会显示”IMAGE_LOAD_CONFIG_DIRECTORY”结构体中的相关信息,这个结构体是在文件加载时加载选项。 /OUT:filename 这个选项将信息输出到指定的文件中。 /PDATA 这个参数只对RISC处理器才有用。显示.pdata中的相关信息。 /RAWDATA[:{1|2|4|8|NONE[,number]] 显示原始数据(比如.text段中的指令数据)。你可以使用下列参数来格式化输出。 参数 结果 1 默认值,数据以十六进制显示,如果有打印字符就显示他的assii码。 2 数据以十六进制2字节形式显示。 4 数据以十六进制4字节形式显示。 8 数据以十六进制8字节形式显示。 NONE 数据被限制,这个参数可以配合/ALL一起使用来控制输出。 Number 以设定值来显示。 /RELOCATIONS 显示对象中的重定位信息。 /SECTION:section 显示由”section”指定段中的信息。你可以使用”/HEADERS”选项去显示每个段的头部信息。 /SUMMARY 显示每个段的基本信息(段名和大小),如果其他选项没有指定这个选项是默认的。 /SYMBOLS 这个参数会显示COFF文件的符号表(用于连接时从定位的)。在所有的对象中都存在符号表。一个COFF文件中的符号表只有在连接时使用了”/DEBUG”时才显示。前两句话感觉有点矛盾原文是这样的: “Symbol tables exist in all object files. A COFF symbol table appears in an image file only if it is linked with /DEBUG”。 一个符号表的实例: Dump of file main.obj File Type: COFF OBJECT COFF SYMBOL TABLE 000 00000000 DEBUG notype Filename | .file main.cpp 002 000B1FDB ABS notype Static | @comp.id 003 00000000 SECT1 notype Static | .drectve Section length 26, #relocs 0, #linenums 0, checksum 722C964F 005 00000000 SECT2 notype Static | .text Section length 23, #relocs 1, #linenums 0, checksum 459FF65F, selection 1 (pick no duplicates) 007 00000000 SECT2 notype () External | _main 008 00000000 UNDEF notype () External | ?MyDump@@YAXXZ (void __cdecl MyDump(void)) String Table Size = 0x10 bytes Summary 26 .drectve 23 .text 这些结构信息你可以参考这两个结构体”IMAGE_SYMBOL” and “IMAGE_AUX_SYMBOL”也可以参考COFF文档 /TLS  显示一个来自可执行文件中的“IMAGE_TLS_DIRECTORY”结构体的信息,此结构定义在Winnt.h中,也显示回调函数的地址。如果你的程序中没有使用线程私有储存空间(”thread local storage”,)这个镜像文件中是不会包含“IMAGE_TLS_DIRECTORY”的。 /UNWINDINFO 这个选项只能使用于 Itanium处理器。 注:上面的每个选项在使用时都有这么一个选项——只用在编译时使用”/GL”选项生成的文件才能够使用”/HEADERS”这个选项。 参考文献: 微软官网 来自:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服