Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说dump 命令_dump用法,希望能够帮助你!!!。
1 所有的命令
 用法: DUMPBIN [选项] [文件] 
    选项:
       /ALL
       /ARCHIVEMEMBERS
       /CLRHEADER
       /DEPENDENTS
       /DIRECTIVES
       /DISASM[:{BYTES|NOBYTES}]
       /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
       /EXPORTS
       /FPO
       /HEADERS
       /IMPORTS[:文件名]
       /LINENUMBERS
       /LINKERMEMBER[:{1|2}]
       /LOADCONFIG
       /OUT:文件名
       /PDATA
       /PDBPATH[:VERBOSE]
       /RANGE:vaMin[,vaMax]
       /RAWDATA[:{NONE|1|2|4|8}[,#]]
       /RELOCATIONS
       /SECTION:名称
       /SUMMARY
       /SYMBOLS
       /TLS
       /UNWINDINFO 
 <1> ALL 
 解释:显示除了反汇编代码外的所有可用信息
 <2> ARCHIVEMEMBERS 
 解释:此选项显示有关库成员的最少信息
 测试文件如下所示:
 Dump of file CConsoleDll.dll
 File Type: DLL
   Summary 
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss 
 <3> CLRHEADER
 CLRHEADER显示有关在任何托管程序中使用的关于.NET Header的信息。输出显示.NET Header所处的位置和大小(以字节为单位),以及
 
Header中的段(Sections)
 <4> DIRECTIVES
 解释:This option dumps the compiler-generated .drective section of an image.
 这个选项导出编译器产生的镜像的.drective段。
 这里的image指代的什么,不是很明白,但是猜测不应该是图像,也不应该是镜像,或许指的就是dll,exe等。 
 <5> DEPENDENTS
 解释:Dumps the names of the DLLs from which the image imports functions. Does not dump the names of the imported functions.
 导出镜像从哪导入函数的Dlls,不是导出导入函数的名字 
Dump of file CConsoleDll.dll
File Type: DLL
Image has the following dependencies:
     MSVCR100D.dll
     KERNEL32.dll 
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss
 <6> DISASM
 解释:This option displays disassembly of code sections, using symbols if present in the file.
 /DISASM should only be used on native (not managed) images.
 这个选项展示代码段的反汇编 如果呈现在文件中就用符号。/DISASM 只能用在本地代码,而不是托管代码。 
 <7> ERRORREPORT
 解释:If dumpbin.exe fails at runtime, you can use /ERRORREPORT to send information to Microsoft about these internal errors.
 如果dumpbin在运行的时候出现错误,那么就用 /ERRORREPORT 导出错误信息 
 <8> EXPORTS
 解释:This option displays all definitions exported from an executable file or DLL.
 这个选项展示exe或者dll中导出的所有定义的东西。 
Dump of file CConsoleDll.dll
File Type: DLL
Section contains the following exports for CConsoleDll.dll
     00000000 characteristics
     539426F1 time date stamp Sun Jun 08 17:03:45 2014
         0.00 version
            1 ordinal base
            4 number of functions
            4 number of names 
ordinal hint RVA name
           1    0 00011131 ??4Math@@QAEAAV0@ABV0@@Z
           2    1 00011005 ?add@Math@@SAHHH@Z
           3    2 0001111D ?mul@Math@@SAHHH@Z
           4    3 00011069 ?sub@Math@@SAHHH@Z 
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss
 <9> FPO
 解释:This option displays frame pointer optimization (FPO) records.
 这个选项显示框架指针优化的记录 
 <10>  HEADERS
 解释:This option displays the file header and the header for each section. When used with a library, it displays the header for each member object.
 这个选项用来显示文件头,以及 各个段的头。当用library的时候,它显示每个成员对象的头。
 例如:
 Dump of file CConsoleDll.dll 
PE signature found
File Type: DLL
 FILE HEADER VALUES
              14C machine (x86)
                7 number of sections
         539426F1 time date stamp Sun Jun 08 17:03:45 2014
                0 file pointer to symbol table
                0 number of symbols
               E0 size of optional header
             2102 characteristics
                    Executable
                    32 bit word machine
                    DLL 
 OPTIONAL HEADER VALUES
              10B magic # (PE32)
            10.00 linker version
             3600 size of code
             3600 size of initialized data
                0 size of uninitialized data
            110D2 entry point (100110D2)
             1000 base of code
             1000 base of data
         10000000 image base (10000000 to 1001AFFF)
             1000 section alignment
              200 file alignment
             5.01 operating system version
             0.00 image version
             5.01 subsystem version
                0 Win32 version
            1B000 size of image
              400 size of headers
                0 checksum
                2 subsystem (Windows GUI)
              140 DLL characteristics
                    Dynamic base
                    NX compatible
           100000 size of stack reserve
             1000 size of stack commit
           100000 size of heap reserve
             1000 size of heap commit
                0 loader flags
               10 number of directories
            16950 [     1D5] RVA [size] of Export Directory
            18000 [      3C] RVA [size] of Import Directory
            19000 [     459] RVA [size] of Resource Directory
                0 [       0] RVA [size] of Exception Directory
                0 [       0] RVA [size] of Certificates Directory
            1A000 [     2A8] RVA [size] of Base Relocation Directory
            15520 [      1C] RVA [size] of Debug Directory
                0 [       0] RVA [size] of Architecture Directory
                0 [       0] RVA [size] of Global Pointer Directory
                0 [       0] RVA [size] of Thread Storage Directory
                0 [       0] RVA [size] of Load Configuration Directory
                0 [       0] RVA [size] of Bound Import Directory
            18174 [     138] RVA [size] of Import Address Table Directory
                0 [       0] RVA [size] of Delay Import Directory
                0 [       0] RVA [size] of COM Descriptor Directory
                0 [       0] RVA [size] of Reserved Directory 
 SECTION HEADER #1
 .textbss name
    10000 virtual size
     1000 virtual address (10001000 to 10010FFF)
        0 size of raw data
        0 file pointer to raw data
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 E00000A0 flags
          Code
          Uninitialized Data
          Execute Read Write 
 SECTION HEADER #2
    .text name
     353A virtual size
    11000 virtual address (10011000 to 10014539)
     3600 size of raw data
      400 file pointer to raw data (00000400 to 000039FF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 60000020 flags
          Code
          Execute Read 
 SECTION HEADER #3
   .rdata name
     1B25 virtual size
    15000 virtual address (10015000 to 10016B24)
     1C00 size of raw data
     3A00 file pointer to raw data (00003A00 to 000055FF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 40000040 flags
          Initialized Data
          Read Only 
Debug Directories
         Time Type       Size      RVA  Pointer
     -------- ------ -------- -------- --------
     539426F1 cv           42 00016014     4A14    Format: RSDS, {65C8A361-D22F-4152-8FCF-341CD543DC92}, 2, F:\code\CConsoleDll\Debug\CConsoleDll.pdb 
 SECTION HEADER #4
    .data name
      558 virtual size
    17000 virtual address (10017000 to 10017557)
      200 size of raw data
     5600 file pointer to raw data (00005600 to 000057FF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 C0000040 flags
          Initialized Data
          Read Write 
 SECTION HEADER #5
   .idata name
      792 virtual size
    18000 virtual address (10018000 to 10018791)
      800 size of raw data
     5800 file pointer to raw data (00005800 to 00005FFF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 C0000040 flags
          Initialized Data
          Read Write 
 SECTION HEADER #6
    .rsrc name
      459 virtual size
    19000 virtual address (10019000 to 10019458)
      600 size of raw data
     6000 file pointer to raw data (00006000 to 000065FF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 40000040 flags
          Initialized Data
          Read Only 
 SECTION HEADER #7
   .reloc name
      437 virtual size
    1A000 virtual address (1001A000 to 1001A436)
      600 size of raw data
     6600 file pointer to raw data (00006600 to 00006BFF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 42000040 flags
          Initialized Data
          Discardable
          Read Only 
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss
 <11> IMPORTS
 解释:This option displays the list of DLLs (both statically linked and delay loaded) that are imported to an executable file or DLL and all the individual imports from each of these DLLs.
 这个选项展示exe或者dll中导入的dlls,以及他们所用到的函数
 Dump of file CConsoleDll.dll 
File Type: DLL
Section contains the following imports:
     MSVCR100D.dll
               10018228 Import Address Table
               100180F0 Import Name Table
                      0 time date stamp
                      0 Index of first forwarder reference 
                   22D _crt_debugger_hook
                   581 _wsplitpath_s
                   675 wcscpy_s
                   55F _wmakepath_s
                   254 _except_handler4_common
                   402 _onexit
                   35A _lock
                   17D __dllonexit
                   4C8 _unlock
                   175 __clean_type_info_names_internal
                   153 __CppXcptFilter
                   1F2 _amsg_exit
                   2EA _initterm_e
                   2E9 _initterm
                   137 _CrtSetCheckCount
                   24C _encoded_null
                   287 _free_dbg
                   36C _malloc_dbg
                   121 _CRT_RTC_INITW 
     KERNEL32.dll
               10018174 Import Address Table
               1001803C Import Name Table
                      0 time date stamp
                      0 Index of first forwarder reference 
                   3A7 QueryPerformanceCounter
                   4A5 SetUnhandledExceptionFilter
                   4D3 UnhandledExceptionFilter
                   1C0 GetCurrentProcess
                   4C0 TerminateProcess
                   162 FreeLibrary
                   218 GetModuleHandleW
                   4F1 VirtualQuery
                   214 GetModuleFileNameW
                   24A GetProcessHeap
                   2CB HeapAlloc
                   2CF HeapFree
                   33F LoadLibraryW
                   245 GetProcAddress
                   54D lstrlenA
                   3B1 RaiseException
                   367 MultiByteToWideChar
                   300 IsDebuggerPresent
                   511 WideCharToMultiByte
                    DE DisableThreadLibraryCalls
                    EA EncodePointer
                    CA DecodePointer
                   2EC InterlockedExchange
                   4B2 Sleep
                   2E9 InterlockedCompareExchange
                   293 GetTickCount
                   1C5 GetCurrentThreadId
                   1C1 GetCurrentProcessId
                   279 GetSystemTimeAsFileTime 
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss
 <12> LINENUMBERS
 解释:This option displays COFF line numbers. Line numbers exist in an object file if it was compiled with Program Database (/Zi), C7 Compatible (/Z7), or Line Numbers Only (/Zd). An executable file or DLL contains COFF line numbers if it was linked with Generate Debug Info (/DEBUG).
 此选项显示 COFF 行号。如果对象文件是用程序数据库 (/Zi)、C7 兼容 (/Z7) 或仅限行号 (/Zd) 编译的,则它包含行号。如果可执行文件或 DLL 是与生成调试信息 (/DEBUG) 链接的,则它包含 COFF 行号。
 <13> LINKERMEMBER
 解释:This option displays public symbols defined in a library. Specify the 1 argument to display symbols in object order, along with their offsets. Specify the 2 argument to display offsets and index numbers of objects, and then list the symbols in alphabetical order, along with the object index for each. To get both outputs, specify /LINKERMEMBER without the number argument.
 此选项显示库中定义的公共符号。指定参数 1 将按对象顺序显示符号及其偏移量。指定参数 2 将显示对象的偏移量和索引号,然后按字母顺序列出这些符号及每个符号的对象索引。若要两个输出都获得,指定不带数字参数的 /LINKERMEMBER。
 <14> LOADCONFIG
 This option dumps the IMAGE_LOAD_CONFIG_DIRECTORY structure, an optional structure that is used by the Windows NT loader and defined in WINNT.H.
 此选项导出 IMAGE_LOAD_CONFIG_DIRECTORY 结构,此结构是由 Windows NT 加载程序使用并在 WINNT.H 中定义的可选结构。
   
 <15> OUT
 解释:This option specifies a filename for the output. By default, DUMPBIN displays the information to standard output.
 此选项指定输出的 filename。默认情况下,DUMPBIN 将信息显示到标准输出。 
 <16> PDATA
 解释:RISC processors only.
 This option dumps the exception tables (.pdata) from an image or object.
 精简指令处理器独有,这个选项导出映像或者对象的异常表
 <17> PDBPATH
 解释:/PDBPATH will search your computer along the same paths that the debugger would search for a .pdb file and will report which, if any, .pdb files correspond to the file specified in filename.
 PDBPATH 命令会和调试器寻找一个.pdb文件那样的路径顺序来搜索你的电脑。
 Dump of file CConsoleDll.dll 
 File Type: DLL
   PDB 文件“F:\code\CConsoleDll\Debug\CConsoleDll.pdb”已选中。(23)
   PDB 文件“F:\code\CConsoleDll\Debug\CConsoleDll.pdb”已选中。(23)
   PDB 文件“C:\Windows\symbols\dll\CConsoleDll.pdb”已选中。(23)
   PDB 文件“C:\Windows\dll\CConsoleDll.pdb”已选中。(23)
   PDB 文件“C:\Windows\CConsoleDll.pdb”已选中。(23) 
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss 
 <17> RANGE
 解释:Modifies the output of dumpbin when used with other dumpbin options, such as /RAWDATA or /DISASM.
 /RANGE:vaMin[,vaMax]
 示例:
 dumpbin /disasm /range:4219334,0x004061CD t.exe 
 <18> RAWDATA
 解释:This option displays the raw contents of each section in the file. 
 显示文件中每个段的 原始内容
 /RAWDATA[:{1|2|4|8|NONE[,number]] 
 <19> RELOCATIONS 
 解释:This option displays any relocations in the object or image.
 这个选项显示对象或者映像中的任何 relocation 
 <20> SECTION
 解释:This option restricts the output to information on the specified section.
 这个选项限定指定段中输出的信息
 例如:
 dumpbin /section:.idata CConsoleDll.dll > Section.txt
 结果如下:
 Dump of file CConsoleDll.dll 
File Type: DLL
 SECTION HEADER #5
   .idata name
      792 virtual size
    18000 virtual address (10018000 to 10018791)
      800 size of raw data
     5800 file pointer to raw data (00005800 to 00005FFF)
        0 file pointer to relocation table
        0 file pointer to line numbers
        0 number of relocations
        0 number of line numbers
 C0000040 flags
          Initialized Data
          Read Write 
Summary
1000 .idata
 <21> SUMMARY 
 解释:This option displays minimal information about sections, including total size. This option is the default if no other option is specified.
 显示段的最少信息。
 Dump of file CConsoleDll.dll 
File Type: DLL
Summary
         1000 .data
         1000 .idata
         2000 .rdata
         1000 .reloc
         1000 .rsrc
         4000 .text
        10000 .textbss
 <22> SYMBOL
 解释:This option displays the COFF symbol table. Symbol tables exist in all object files. A COFF symbol table appears in an image file only if it is linked with /DEBUG.
 这个选项显示COFF对象的符号表。符号表存在在所有的对象文件中。一个COFF 符号表仅仅当用Debug方式连接的时候才会存在。 
 <23> TLS
 解释:Displays the IMAGE_TLS_DIRECTORY structure from an executable.
 显示 exe中的IMAGE_TLS_DIRECTORY 结构体 
 <24> UNWINDINFO
 解释:Dumps the unwind descriptors of the structured exception handling (SEH) tables in program images (for example, exes and dlls). /UNWINDINFO only works on Itanium Processor Family (IPF) images.
 导出程序映像(如exe,dll)中SEH(结构化异常处理)表的展开描述符。UNWINDINFO 仅仅在安腾处理器家族的映像。 
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章