天天看點

WinDBG 技巧:如何生成Dump 檔案(.dump 指令)

程式崩潰(crash)的時候, 為了以後能夠調試分析問題, 可以使用WinDBG要把當時程式記憶體空間資料都儲存下來,生成的檔案稱為dump 檔案。 步驟:

1) 打開WinDBG并将之Attach 到crash的程式程序

2) 輸入産生dump 檔案的指令

WinDBG産生dump 檔案的指令是 .dump ,可以選擇不同的參數來生成不同類型的dump檔案。

選項(1): /m

指令行示例:.dump /m C:\dumps\myapp.dmp

注解: 預設選項,生成标準的minidump, 轉儲檔案通常較小,便于在網絡上通過郵件或其他方式傳輸。 這種檔案的資訊量較少,隻包含系統資訊、加載的子產品(DLL)資訊、 程序資訊和線程資訊。

選項(2): /ma

指令行示例:.dump /ma C:\dumps\myapp.dmp

注解: 帶有盡量多選項的minidump(包括完整的記憶體内容、句柄、未加載的子產品,等等),檔案很大,但如果條件允許(本機調試,區域網路環境), 推薦使用這中dump。

選項(3):/mFhutwd

指令行示例:.dump /mFhutwd C:\dumps\myapp.dmp

注解:帶有資料段、非共享的讀/寫記憶體頁和其他有用的資訊的minidump。包含了通過minidump能夠得到的最多的資訊。是一種折中方案。