dumpbin
在使用VC时,可以用DUMPBIN.EXE来得到某个DLL中所输出的符号的清单。如下面的
命令:dumpbin -exports Cmpnt1.dll
如:
C:/WINDOWS/system32>dumpbin -exports msgsvc.dll
Microsoft (R) COFF Binary File Dumper Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Dump of file msgsvc.dll
File Type: DLL
Section contains the following exports for msgsvc.dll
0 characteristics
41107F60 time date stamp Wed Aug 04 14:17:04 2004
0.00 version
1 ordinal base
2 number of functions
2 number of names
ordinal hint RVA name
1 0 00004ABF ServiceMain
2 1 00004595 SvchostPushServiceGlobals
Summary
1000 .data
1000 .reloc
1000 .rsrc
8000 .text
C:/>dumpbin
Microsoft (R) COFF Binary File Dumper Version 6.00.844
Copyright (C) Microsoft Corp 1992-1998. All rights res
usage: DUMPBIN [options] [files]
options:
/ALL
/ARCH
/ARCHIVEMEMBERS
/DEPENDENTS
/DIRECTIVES
/DISASM
/EXPORTS
/FPO
/HEADERS
/IMPORTS
/LINENUMBERS
/LINKERMEMBER[:{1|2}]
/LOADCONFIG
/OUT:filename
/PDATA
/RAWDATA[:{NONE|BYTES|SHORTS|LONGS}[,#]]
/RELOCATIONS
/SECTION:name
/SUMMARY
/SYMBOLS
若要运行 DUMPBIN,请使用下列语法:
DUMPBIN [options] files...
指定一个或多个二进制文件,以及控制信息所需的任何选项。DUMPBIN 将该信息显示到标准输出。可以将输出重定向到文件,或者使用 /OUT 选项为输出指定文件名。
当在文件上运行 DUMPBIN 但未指定选项时,DUMPBIN 显示 /SUMMARY 输出。
当键入命令 dumpbin
但没有任何其他命令行输入时,DUMPBIN 显示汇总其选项的用法语句。
/ALL
此选项显示除代码反汇编外的所有可用信息。使用 /DISASM 显示反汇编。可以与 /ALL 一起使用 /RAWDATA:NONE 来省略文件的原始二进制详细资料。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/ARCHIVEMEMBERS
此选项显示有关库成员对象的最少信息。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/CLRHEADER file
此处:
- file
- 用 /clr 生成的图像文件。
备注
CLRHEADER 显示有关在任何托管程序中使用的 .NET 头的信息。输出显示 .NET 头及其中各节的位置和大小(以字节计)。
File Format Spec.doc 描述 .NET 头中的信息。NET SDK 将 File Format Spec.doc 安装在 Tools Developers Guide 目录中。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/DIRECTIVES
此选项转储图像中由编译器生成的 .directive 节。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/DEPENDENTS
转储图像从中导入函数的 DLL 的名称。不要转储导入函数名。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/DISASM
此选项显示代码段的反汇编,如果出现在文件中则使用符号。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/EXPORTS
此选项显示从可执行文件或 DLL 导出的所有定义。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/FPO
此选项显示框架指针优化 (FPO) 记录。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/HEADERS
此选项显示文件头和每节的头。当用于库时,显示每个成员对象的头。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/IMPORTS[:file]
此选项显示导入到可执行文件或 DLL 的 DLL 列表(静态链接的和延迟加载)和上述每个 DLL 的各个导入。
可选 file 规范允许指定仅显示某个 DLL 的导入。例如:
dumpbin /IMPORTS:msvcrt.dll
此选项显示的输出与 /EXPORTS 输出相似。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/LINENUMBERS
此选项显示 COFF 行号。如果对象文件是用程序数据库 (/Zi)、C7 兼容 (/Z7) 或仅限行号 (/Zd) 编译的,则它包含行号。如果可执行文件或 DLL 是与生成调试信息 (/DEBUG) 链接的,则它包含 COFF 行号。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/LINKERMEMBER[:{1|2}]
此选项显示库中定义的公共符号。指定参数 1 将按对象顺序显示符号及其偏移量。指定参数 2 将显示对象的偏移量和索引号,然后按字母顺序列出这些符号及每个符号的对象索引。若要两个输出都获得,指定不带数字参数的 /LINKERMEMBER。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/LOADCONFIG
此选项转储 IMAGE_LOAD_CONFIG_DIRECTORY 结构,此结构是由 Windows NT 加载程序使用并在 WINNT.H 中定义的可选结构。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/OUT:filename
此选项指定输出的 filename。默认情况下,DUMPBIN 将信息显示到标准输出。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/PDBPATH[:VERBOSE] filename
此处:
- filename
- 要为其查找匹配 .pdb 文件的 .dll 或 .exe 文件名。
- VERBOSE(可选)
- 报告曾尝试在其中定位 .pdb 文件的所有目录。
备注
/PDBPATH 将沿调试器搜索 .pdb 文件的同一路径搜索计算机,并将报告哪些 .pdb 文件(若有)和 filename 中指定的文件相对应。
使用 Visual Studio 调试器时可能会遇到问题,这是因为调试器对调试文件的不同版本使用 .pdb 文件。
/PDBPATH 将沿下列路径搜索 .pdb 文件:
- 检查可执行文件驻留的位置。
- 检查写入可执行文件的 PDB 的位置。这通常是图像被链接时的位置。
- 沿 Visual Studio IDE 中配置的搜索路径检查。
- 沿 _NT_SYMBOL_PATH 和 _NT_ALT_SYMBOL_PATH 环境变量中的路径检查。
- 在 Windows 目录中检查。
/PDATA
仅用于 RISC 处理器。
此选项从图像或对象转储异常表 (.pdata)。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/RAWDATA[:{1|2|4|8|NONE[,number]]
此选项显示文件中每节的原始内容。参数控制显示格式,如下所示:
参数 | 结果 |
---|---|
1 | 默认值。内容以十六进制字节显示,如果内容具有打印的表示形式,则还显示为 ASCII 字符。 |
2 | 内容显示为十六进制的 2 字节值。 |
4 | 内容显示为十六进制的 4 字节值。 |
8 | 内容显示为十六进制的 8 字节值。 |
NONE | 取消显示原始数据。此参数对控制 /ALL 输出很有用。 |
Number | 显示的行被设置为每行具有 number 个值的宽度。 |
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/RELOCATIONS
此选项显示对象或图像中的任何重定位。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/SECTION:section
此选项限制与指定的 section 有关的信息的输出。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/SUMMARY
此选项显示有关节的最少信息(包括总大小)。如果未指定其他选项,则此选项为默认值。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/SYMBOLS
此选项显示 COFF 符号表。符号表存在于所有对象文件中。而对于图像文件,只有当它是与 /DEBUG 链接的时,它才包含 COFF 符号表。
下面是关于 /SYMBOLS 输出的说明。通过查阅 winnt.h(IMAGE_SYMBOL 和 IMAGE_AUX_SYMBOL)或 COFF 文档,可找到有关 /SYMBOLS 输出含义的附加信息。
假设有下列示例转储:
Dump of file main.objFile Type: COFF OBJECTCOFF SYMBOL TABLE000 00000000 DEBUG notype Filename | .file main.cpp002 000B1FDB ABS notype Static | @comp.id003 00000000 SECT1 notype Static | .drectve Section length 26, #relocs 0, #linenums 0, checksum 722C964F005 00000000 SECT2 notype Static | .text Section length 23, #relocs 1, #linenums 0, checksum 459FF65F, selection 1 (pick no duplicates)007 00000000 SECT2 notype () External | _main008 00000000 UNDEF notype () External | ?MyDump@@YAXXZ (void __cdecl MyDump(void))String Table Size = 0x10 bytesSummary 26 .drectve 23 .text
对于以符号号码开头的行,下列说明描述了含有与用户相关的信息的列:
- 开头的 3 位数字是符号索引/号码。
- 如果第三列包含 SECTx,则符号在对象文件的那一节中定义。但如果出现 UNDEF,则它不在那个对象中定义并且必须在其他地方被解析。
- 第五列 (Static, External) 说明符号是否只在那个对象的内部可见,或者是否是公共的(外部可见)。静态符号 _sym 不会链接到公共符号 _sym;这些符号是名为 _sym 的函数的两种不同实例。
编号行中的最后一列是符号名(修饰名和未修饰名)。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/UNWINDINFO
在程序图像(例如 exe 和 dll)中转储结构化异常处理 (SEH) 表的展开描述符。/UNWINDINFO 仅适用于 IA64 图像。
只有 /HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件
http://blog.csdn.net/adcxf/article/details/2070503
dumpbin的更多相关文章
- VS2010中dumpbin工具的使用
用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...
- Dumpbin 工具的使用
dumpbin用法:dumpbin /exports /out:d:\mfc90.txt d:\mfc90.lib 在使用VC时,可以用DUMPBIN.EXE来得到某个DLL中所输出的符号的清单.如下 ...
- dumpbin使用
声明一点:Win7系统,安装的是VS2010 dumpbin.exe位于C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin目录下. 初 ...
- dumpbin工具的使用
当我们需要查看一个dll或exe文件中的包含的函数或是依赖的函数之类的信息,可以使用Visual Studio自带的工具dumpbin来实现,使用方法为: 1/ 启动Visual Studio 命令行 ...
- dumpbin.exe
有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这个时候可以使用dumpbin.exe工具: 1.输入Dumpbin -imports calldll.exe查看它 ...
- (转)VS自带工具:dumpbin的使用
有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这个时候可以使用dumpbin.exe工具: 1.输入Dumpbin -imports calldll.exe查看它 ...
- [置顶] VS自带工具:dumpbin的使用
有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这个时候可以使用dumpbin.exe工具: 1.输入Dumpbin -imports calldll.exe查看它 ...
- [Windows]_[0基础]_[使用命令行工具dumpbin分析文件]
dumpbin(vs拥有) 1. 出口lib函数符号文件(symbols) dumpbin /exports zlib1.lib Microsoft (R) COFF/PE Dumper Versio ...
- 如何用dumpbin.exe检查编译器生成的托管模块所嵌入的信息
开启CMD 运行到dumpbin目录下:D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin 运行命令VCVARS32.BAT,配置环境 ...
随机推荐
- java中可以出现的中文乱码的集中解决
从学习javaweb开始就会经常遇到中文乱码,今天就做以下记录: 1. 要避免项目中遇到乱码,首先就是在搭建项目的设置工作空间的字符编码,若是多人开发,就更应该做到统一,在eclipse中选择widn ...
- 利用java concurrent 包实现日志写数据库的并发处理
一.概述 在很多系统中,往往需要将各种操作写入数据库(比如客户端发起的操作). 最简单的做法是,封装一个公共的写日志的api,各个操作中调用该api完成自己操作日志的入库.但因为入数据库效率比较低,如 ...
- c 中关于int,unsigned int , short 各种类型总结
int类型比较特殊,具体的字节数同机器字长和编译器有关.如果要保证移植性,尽量用__int16 __int32 __int64吧__int16.__int32这种数据类型在所有平台下都分配相同的字节. ...
- 一步一步重写 CodeIgniter 框架 -- 原因和思路
CodeIgniter 是一个非常轻量级的 PHP 框架,说是轻量级,最新版的代码只有不到2M. 其最重要的特点就是 MVC 模式来编写代码,如果大家看过一些用 PHP 来编写网站的书籍或教程,无一例 ...
- CSS:重量和级联规则,确定其优先级
资源:http://www.ido321.com/1063.html 首先,给大家看一篇关于CSS优先级的演示样例:http://www.ido321.com/76.html 一.主要的优先级规则 比 ...
- 高仿114la网址导航源码完整最新版
给大家本人我精心模仿的高仿114la网址导航源码,我们都知道114la网址导航的影响力,喜欢的朋友可以下载学习一下. 由于文件较大,没有上传了,下载地址在下面有的. 附源码下载: 114la网站导航 ...
- asp.net 中将汉字转换成拼音
/// <summary> /// 获取汉字的全拼音 /// </summary> /// <param name="x">传汉字的字符串< ...
- ubuntu安装Java jdk1.7.0
1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2.解压 3. ...
- jquery 如何动态添加、删除class样式方法介绍
获取与设置样式 获取class和设置class都可以使用attr()方法来完成.例如使用attr()方法来获取p元素的class 取与设置样式 获取class和设置class都可以使用attr()方法 ...
- 基于visual Studio2013解决C语言竞赛题之1034数组赋值
题目 解决代码及点评 /********************************************************************** ...