<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    Dumpbin 工具的使用

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    dumpbin用法:
    dumpbin /exports /out:d:\mfc90.txt d:\mfc90.lib

     

    在使用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 顯示匯總其選項的用法語句。

    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 | ?MyDump@@YAXXZ (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 編譯器選項產生的文件。

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全