有可能你会遇到“’dumpbin’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”的提示,怎么办呢?
1. 找到VCVARS32.bat,比如在我的机器上其路径为:C:\Program Files\Microsoft Visual
Studio 8\VC\bin\vcvars32.bat
2. 将VCVARS32.bat拖放至cmd提示符处,回车
3. 这时你应该可以看到“Setting environment for using Microsoft Visual Studio
2005 x86 tools.”,这样就OK啦。
在使用VC时,可以用DUMPBIN.EXE来得到某个DLL中所输出的符号的清单。如命令:dumpbin
-exports Cmpnt1.dll
如在DOS命令提示行窗口下:
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 显示汇总其选项的用法语句。
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.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 |(void __cdecl
MyDump(void))
String Table Size =
0x10 bytes
Summary
26
.drectve
23
.text
对于以符号号码开头的行,下列说明描述了含有与用户相关的信息的列:
开头的
3 位数字是符号索引/号码。
如果第三列包含
SECTx,则符号在对象文件的那一节中定义。但如果出现
UNDEF,则它不在那个对象中定义并且必须在其他地方被解析。
第五列
(Static, External) 说明符号是否只在那个对象的内部可见,或者是否是公共的(外部可见)。静态符号 _sym
不会链接到公共符号 _sym;这些符号是名为 _sym 的函数的两种不同实例。
编号行中的最后一列是符号名(修饰名和未修饰名)。
只有
/HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
/UNWINDINFO
在程序图像(例如 exe 和
dll)中转储结构化异常处理 (SEH) 表的展开描述符。/UNWINDINFO 仅适用于 IA64 图像。
只有
/HEADERS DUMPBIN 选项可用于由 /GL 编译器选项产生的文件。
VC中dumpbin命令不好使的解决办法
在vc中为了查看自已编写的动态链接库的输出函数的名字时,需要使用dumpbin命令,些时不好使的解决办法。
问题:在命令窗口中输入dumpbin命令回车,提示’dumpbin’不是内部或外部命令,也不是可运行的程序或批处理文件,
请问如何解决?
答案:找到VC的安装目录:
如:”C:\Program
Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT”
找到VCVARS32.BAT文件,然后拖到命令窗口中执行一下,就OK了。
注意:当这个命令窗口关闭后,还需要重新执行一遍那个文件,因为执行完这个文件后,只对本窗口有效。
今天的文章dumpbing_linux常用的20个命令分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75694.html