DUMPBIN 公用程式的說明

文章翻譯 文章翻譯
文章編號: 177429 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

以 32 位元版本的 Microsoft Visual C++ 提供 「 DUMPBIN 」 公用程式會結合 LINK、 LIB 和 EXEHDR 公用程式的能力。這些工具功能的組合能夠提供格式及符號的相關資訊及中所提供的可執行檔、 媒體櫃,DLL 檔案。

本文提供一些選項和 DUMPBIN 公用程式產生輸出的簡短概觀。如需有關 DUMPBIN 工具的詳細資訊,請參閱產品說明文件。

其他相關資訊

DUMPBIN 命令列選項如下所示。每個選項提供的輸出的一些也會列。

/ ALL顯示所有可用的資訊,除非程式碼反組譯碼。使用 /DISASM 選項以顯示反組譯碼。您可以使用 /RAWDATA: NONE 與 [/ALL 選項,以省略檔案的未經處理二進位的詳細資料。
因為 / ALL 選項是只是所有其他選項的組合,就不需要的範例。
/ ARCHIVEMEMBERS程式庫中,會顯示成員物件的最少資訊。
輸出檔的大小取決於程式庫中的物件模組的數目。以下是從 Scrnsave.lib 檔案輸出的一部份:
Archive member name at 582: /0        ..\..\common\retail\scrnsave.obj
2FF359CC time/date Thu Jun 29 18:56:28 1995
         uid
         gid
  100666 mode
    214A size
correct header end
					
/ DISASM顯示反組譯的程式碼區段如果出現在檔案中使用的符號。
下列是反組譯程式碼從 Lib.exe 檔案的一部份:
00401000: 8B 44 24 08        mov         eax,dword ptr [esp+8]
00401004: 68 00 20 40 00     push        402000h
00401009: 8B 4C 24 08        mov         ecx,dword ptr [esp+8]
0040100D: 50                 push        eax
0040100E: 51                 push        ecx
0040100F: E8 0C 00 00 00     call        00401020
00401014: 33 C0              xor         eax,eax
00401016: C3                 ret
00401017: CC                 int         3
					
/ 匯出顯示所有從可執行檔或 DLL 匯出的定義。
MFC40.DLL 會產生下列匯出的資訊:

區段包含下列匯出為 MFC40.DLL
          0 characteristics
   30733286 time date stamp Wed Oct 04 18:19:02 1995
       0.00 version
          1 ordinal base
       5782 number of functions
          4 number of names

ordinal hint   name

      2    0   DllCanUnloadNow  (00096182)
      1    1   DllGetClassObject  (0009611E)
      3    2   DllRegisterServer  (000961DB)
      4    3   DllUnregisterServer  (00096242)
					
/ FPO會顯示框架指標最佳化 (FPO) 記錄。
其中一個 MFC 程式庫 Nafxis.lib,我們提供的一些範例的框架指標最佳化記錄:
FPO Data (1)
                                       Use Has  Frame
 Address  Proc Size   Locals   Prolog  BP  SEH  Type   Params
00000000          9        0        0   N   N    fpo        0

FPO Data (1)
                                       Use Has  Frame
 Address  Proc Size   Locals   Prolog  BP  SEH  Type   Params
00000000         11        0        0   N   N    fpo        C

FPO Data (1)
                                       Use Has  Frame
 Address  Proc Size   Locals   Prolog  BP  SEH  Type   Params
00000000          3        0        0   N   N    fpo        0
					
/ 標頭顯示檔案標頭和每個區段標頭。使用文件庫時它會顯示每個成員物件的頁首。
這項資訊會顯示從資源編譯器 Rc.exe:
FILE HEADER VALUES
     14C machine (i386)
       6 number of sections
306F7A22 time date stamp Sun Oct 01 22:35:30 1995
       0 file pointer to symbol table
     1D1 number of symbols
      E0 size of optional header
     302 characteristics
            Executable
            32 bit word machine
            Debug information stripped

OPTIONAL HEADER VALUES
     10B magic #
    2.60 linker version
    1E00 size of code
    1E00 size of initialized data
       0 size of uninitialized data
    1144 address of entry point
    1000 base of code
    3000 base of data
         ----- new -----
 2BB0000 image base
    1000 section alignment
     200 file alignment
       3 subsystem (Windows CUI)
    4.00 operating system version
    4.00 image version
    3.50 subsystem version
    8000 size of image
     400 size of headers
    62C8 checksum
  100000 size of stack reserve
    1000 size of stack commit
  100000 size of heap reserve
    1000 size of heap commit
       0 [       0] address [size] of Export Directory
    5000 [      3C] address [size] of Import Directory
    6000 [     394] address [size] of Resource Directory
       0 [       0] address [size] of Exception Directory
       0 [       0] address [size] of Security Directory
    7000 [     21C] address [size] of Base Relocation Directory
    3030 [      38] address [size] of Debug Directory
       0 [       0] address [size] of Description Directory
       0 [       0] address [size] of Special Directory
       0 [       0] address [size] of Thread Storage Directory
       0 [       0] address [size] of Load Configuration Directory
     268 [      44] address [size] of Bound Import Directory
    50A0 [      64] address [size] of Import Address Table Directory
       0 [       0] address [size] of Reserved Directory
       0 [       0] address [size] of Reserved Directory
       0 [       0] address [size] of Reserved Directory

SECTION HEADER #1
   .text name
    1D24 virtual size
    1000 virtual address
    1E00 size of raw data
     400 file pointer to raw data
       0 file pointer to relocation table
    3C20 file pointer to line numbers
       0 number of relocations
     37E number of line numbers
60000020 flags
         Code
         (no align specified)
         Execute Read
					
/ IMPORTS顯示所有匯入至可執行檔或 DLL 的定義。
這裡顯示的輸出是類似 /EXPORTS 輸出。
/ LINENUMBERS顯示 COFF 行號。行號存在於目的檔,如果它已編譯與程式資料庫 (/ Zi) C7 相容 (/ Z7),或數字僅一行 (/Zd) 切換。可執行檔或 DLL 包含 COFF 行號如果它已產生偵錯資訊與連結 (/ DEBUG) 和 COFF 格式 (/ DEBUGTYPE:COFF) 選項。
使用 AppWizard 產生的應用程式顯示行資訊資料,例如下列所示:
LINENUMBERS #1
   1E90   13     1ECD   13     1EF7   13     1F16   13     1F31   15
   1F46   15     1F61   24     1F9A   27     1FD0   2A     2001   2B
					
/ LINKERMEMBER [: {1|2}]會顯示在文件庫中定義的公用符號。指定 1 引數以連同其位移的物件順序顯示符號。指定顯示位移和物件,索引數字 2 的引數,然後列出以字母的順序一起物件索引每個符號。若要設法這兩個輸出指定 /LINKERMEMBER 沒有引數。
Winmmm.lib Windows 多媒體文件庫用來取得 DUMPBIN 輸出的下列的範例。
Archive member name at 8: / 
2FB537E1 time/date Sat May 13 15:51:13 1995
         uid
         gid
       0 mode
    2864 size
correct header end

    391 public symbols

     556C _CloseDriver@12
     58A0 _DefDriverProc@20
     5BDC _DriverCallback@28
     5F1C _DrvGetModuleHandle@4
     626A _GetDriverModuleHandle@4
     65C4 _NotifyCallbackData@20
     6914 _OpenDriver@12
     6C44 _PlaySound@12
     6F70 _PlaySoundA@12
     72A0 _PlaySoundW@12
					
/ OUT: 檔名指定輸出檔名。預設情況下,DUMPBIN 會顯示至標準輸出資訊。

/ RAWDATA [: {BYTES|SHORTS|LONGS|NONE} [,數字]]顯示檔案中的每個區段的未經處理的內容。引數控制顯示格式,如下所示:
Argument    Result

BYTES      The default. Contents are displayed in hexadecimal bytes,
           and also as ASCII characters if they have a printed
           representation.
SHORTS     Contents are displayed as hexadecimal words.
LONGS      Contents are displayed as hexadecimal longwords.
NONE       Raw data is suppressed. This argument is useful to control
           the output of /ALL.
number     Displayed lines are set to a width that holds <number> values
           per line.
					
使用這個選項時產生的資訊是相當大,這是小型的應用程式使用 [LONGS 格式化一個 AppWizard 的輸出範例:
RAW DATA #1
00000000  53EC8B55 00A15756 | E9004058 00000000      U[ASCII 239]_SVW[ASCII
237].|X@._...._
00000010  C95B5E5F EC8B55C3 | 5304EC83 4D895756      _^[++U[ASCII
239]_|[ASCII 226]_.SVW[ASCII 235]M_
00000020  3058B8FC 00E90040 | 5F000000 C3C95B5E      n+X0@._.|..._^[++_
					
/ 重新配置 顯示任何重新配置的物件或影像中。
下面重新配置輸出的一小部分取自 AppWizard 應用程式:
BASE RELOCATIONS #6

    1000 virtual address,       B0 SizeOfBlock
       7 HIGHLOW
      22 HIGHLOW
      36 HIGHLOW
      67 HIGHLOW
      89 HIGHLOW
					
/ 區段: 區段 會輸出限制在指定的區段上的資訊。

/ 摘要 顯示最少資訊包括總大小的區段。如果未不指定任何其他選項,則此選項為預設值。
Microsoft (R) COFF Binary File Dumper Version 3.00.5270
Copyright (C) Microsoft Corp 1992-1995. All rights reserved.

Dump of file tracer.exe

File Type: EXECUTABLE IMAGE

     Summary

        1000 .data
        1000 .idata
        1000 .rdata
        1000 .reloc
        1000 .rsrc
        1000 .text
					
/ 符號 顯示 COFF 符號表。符號表存在於物件的所有檔案。COFF 符號表中的影像檔才會出現 [產生偵錯資訊] 和 [COFF 格式在偵錯資訊下類別上的選項偵錯的連結器 (或在命令列上的 [/DEBUG] 和 [/DEBUGTYPE:COFF] 選項) 連結。
AppWizard 應用程式用來取得下列的範例:
COFF SYMBOL TABLE
000 000065D0 SECT5  notype       Static       | .rsrc$02
001 00000011 DEBUG  notype       Filename     | .file
 C:\code\test\testView.cpp
004 000041A0 SECT3  notype       Static       | $SG23289
005 00004018 SECT3  notype       Static       | _$S189$S23301
006 00004168 SECT3  notype       Static       | _THIS_FILE$S23282
007 00001E90 SECT1  notype       Static       | .text
 Section length  2DE, #relocs   27, #linenums   22
009 00001EE2 SECT1  notype ()    Static       | _$E188
00A 00001EF7 SECT1  notype ()    Static       | _$E187
 tag index 0000002E size 0000001F lines 000012DF next function 00000033
00C 000042AC SECT3  notype       Static       | __init_CTestView$S23291
00D 00003998 SECT2  notype       Static       | $T23440
00E 00003978 SECT2  notype       Static       | $T23438
00F 000039C0 SECT2  notype       Static       | $T23447
010 000039A0 SECT2  notype       Static       | $T23446
011 00000021 DEBUG  notype       Filename     | .file
					

屬性

文章編號: 177429 - 上次校閱: 2005年9月1日 - 版次: 4.0
這篇文章中的資訊適用於:
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.2
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 4.1 Subscription
  • Microsoft Visual C++ 4.2 Enterprise Edition
  • Microsoft Visual C++ 4.2 Enterprise Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
關鍵字:?
kbmt kbinfo KB177429 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:177429
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com