dumpbin工具的使用

2021-07-22 03:58:48 字數 3187 閱讀 3428

用vs2010生成的.obj檔案、.lib庫、.dll庫、.exe執行檔案,如果想檢視其中這些檔案或庫包含了哪些函式以及相關的資訊(符號清單),可以通過vs2010自帶的dumpbin工具來完成。

dumpbin.exe為microsoft  coff二進位制檔案轉換器,它顯示有關通用物件檔案格式(coff)二進位制檔案的資訊。可用使用dumpbin檢查coff物件檔案、標準coff物件庫、可執行檔案和動態鏈結庫等。

dumpbin工具只能在命令列下使用。

雙擊c:\program files (x86)\microsoft visual studio10.0\vc\bin\amd64 目錄下的dumpbin.exe即可檢視相關資訊,如圖1:

圖 1在c:\program files(x86)\microsoft visual studio 10.0\vc\bin目錄下也存在dumpbin.exe,開啟方法:先啟動cmd,然後定位到c:\programfiles (x86)\microsoft visual studio 10.0\vc\bin,執行vcvars32.bat(或者直接將vcvars32.bat拖到cmd中),最後再執行dumpbin.exe即可。

dumpbin使用方式:dumpbin  選項  檔名

其中多個選項間用空格分開,多個檔名間也用空格分開,檔名可以為字尾為.obj、.lib、.dll、.exe,如 dumpbin  /all/rawdata:none  /out:1.txt  text.obj (dmpbin /all /rawdata:none  test.obj >1.txt)。如果沒有給dumpbin指定任何選項,它將等同於使用了/summary引數。如果沒有指定任何輸入檔案,它將列出所有的選項。

選項說明:引數的使用可以用」-」或者」/」(如-all等於/all)後面跟選項名。有些選項可以在選項名後接」:」。使用空格或製表符(tab)分割命令選項。選項名,關鍵字和檔名是不區分大小寫的。大多數的引數可以應用於所有的二進位制檔案,有少部分引數只能用於特定的檔案。

(1)、/all :此選項顯示除**反彙編外的所有可用資訊。使用/disasm顯示反彙編。可以與/all一起使用/rawdata:none來省略檔案的原始二進位制詳細資料。

(2)、/archivemembers:此選項顯示有關庫成員物件的最少資訊。 (3)、/clrheader  file:其中file為用/clr生成的影象檔案。clrheader顯示有關在任何託管程式中使用的.net頭的資訊。輸出顯示.net頭及其中各節的位置和大小(以位元組計算)。

(3)、/directives:此選項轉儲影象中由編譯器生成的.directive節。

(4)、/dependents:轉儲影象從中匯入函式的dll的名稱。不要轉儲匯入函式名。

(5)、/disasm:此選項顯示**段的反彙編,如果出現在檔案中則使用符號。

(6)、/exports:此選項顯示從可執行檔案或dll匯出的所有定義。

(7)、/fpo:此選項顯示框架指標優化(fpo)記錄。

(8)、/headers:此選項顯示檔案頭和每節的頭。當用於庫時,顯示每個成員物件的頭。

(9)、/imports[:file]:此選項顯示匯入到可執行檔案或dll的dll列表(靜態鏈結的和延遲載入)和上述每個dll的各個匯入。可選file規範允許指定僅顯示某個dll的匯入。

(10)、/linenumbers:此選項顯示coff行號。如果物件檔案是用程式資料庫(/zi)、c7相容(/z7)或僅限行號(/zd)編譯的,則它包含行號。如果可執行檔案或dll是與生成除錯資訊(/debug)鏈結的,則它包含coff行號。

(11)、/linkermember[:]:此選項顯示庫中定義的公共符號。指定引數1將按物件順序顯示符號及其偏移量。指定引數2將顯示物件的偏移量和索引號,然後按字母順序列車這些符號及每個符號的物件索引。若要兩個輸出都獲得,指定不帶數字引數的/linkermember。

(12)、/loadcomfig:此選項轉儲image_load_config_directory結構,此結構是由windowsnt引導程式使用並在wiinnt.h中定義的可選結構。

(13)、/out:filename:此選項指定輸出的filename。預設情況下,dumpbin將資訊顯示到標準輸出。

(14)、/pdbpath[:verbose]filename:filename為要為其查詢匹配.pdb檔案的.dll或.exe檔名。verbose(可選)為報告曾嘗試在其中定位.pdb檔案的所有目錄。/pdbpath將沿偵錯程式搜尋.pdb檔案的同一路徑搜尋計算機,並將報告那些.pdb檔案(若有)和filename中指定的檔案相對應。

(15)、/rawdata[:[,number]]:此選項顯示檔案中每節的原始內容。引數說明:1,預設值,內容以十六進製制位元組顯示,如果內容具有列印的表示形式,則還顯示為ascii字元;2,內容顯示為十六進製制的2位元組值;4,內容顯示為十六進製制的惡4位元組值;8,內容顯示為十六進製制的8位元組值;none,取消顯示原始資料,此引數對控制/all輸出很有用;number,顯示的行被設定為每行具有number個值的寬度。

(16)、/relocations:此選項顯示物件或影象中的任何重定位。

(17)、/section:section:此選項限制與指定的section有關的資訊的輸出。

(18)、/summary:此選項顯示有關節的最少資訊(包括總大小)。如果未指定其它選項,則此選項為預設值。

(19)、/symbols:此選項顯示coff符號表。符號表存在於所有物件檔案中。而對於影象檔案,只有當它是與/debug鏈結時,它才包含coff符號表。

(20)、/unwindinfo:在程式影象(例如exe和dll)中轉儲結構化異常處理(she)表的展開描述符。/unwindinfo僅適用於ia64影象。

以上所有只有/headers  dumpbin選項可用於由/gl編譯器選項產生的檔案。

如果檢視a.dll庫中包含哪些函式,可以使用:dumpbin /exports a.dll >1.txt

如果檢視b.exe中載入了哪些動態庫,可以使用:dumpbin /imports b.exe >2.txt

如果檢視c.lib中包含哪些函式,可以使用:dumpbin /all /rawdata:none c.lib >3.txt

如果檢視d.obj中包含哪些函式,可以使用:dumpbin /all /rawdata:none d.obj >4.txt

Dumpbin 工具的使用

dumpbin用法 dumpbin exports out d mfc90.txt d mfc90.lib 如果檢視a.dll庫中包含哪些函式,可以使用 dumpbin exports a.dll 1.txt 如果檢視b.exe中載入了哪些動態庫,可以使用 dumpbin imports b.exe...

VS自帶工具 dumpbin的使用

有時候我們想檢視乙個exe引用了哪些動態庫,或者我們想看某個動態庫包含哪些介面函式,這個時候可以使用dumpbin.exe工具 1.輸入dumpbin imports calldll.exe檢視它的輸入資訊,可以看到它載入了 dll 2.輸入dumpbin exports dlltest.dll,列...

DLL EXE檢視工具Dumpbin

一般情況下,我們需要檢視乙個dll或exe中的包含的函式或是依賴的函式之類的資訊,可以使用vs自帶的工具dumpbin 可以直接在命令列下輸入dumpbin就可以檢視他的使用說明,如果未顯示,可以先執行vs安裝目錄下的vcvarsall.bat來設定一下環境變數就可以了 dumpbin 選項 all...