Dump 檔案生成與分析

2022-03-21 02:35:16 字數 1046 閱讀 2112

dump檔案是程序的記憶體映象。可以把程式的執行狀態通過偵錯程式儲存到dump檔案中。

dump檔案是用來給驅動程式編寫人員除錯驅動程式用的,這種檔案必須用專用工具軟體開啟,比如使用windbg開啟。

當我們的程式發布出去之後,在客戶機上是無法跟蹤自己**的bug的,所以dump(副檔名是 .dmp)檔案對於我們來說特別有用。我們可以通過.dmp檔案把出現bug 的情況再現,然後根據再現的狀況(包括堆疊呼叫等情況),可以找到出現bug的行號,甚至是出現bug的點。

通過研究,我總結了兩種方式,如下:

(1)安裝windbg,具體方式可以參照:

(2)通過windows系統方式(我的是winxp),參照:

(1)安裝windbg

(b)開啟windbg, file/attach to a process/  然後再列表中顯示需要監視的程序(.exe)

執行以上就產生了dmp檔案

(2)通過windows系統方式

首先用dr watson 在執行中輸入drwtsn32.exe –i 安裝dr watson作為預設應用程式除錯程式。

再在在執行中輸入drwtsn32.exe 設定: 如圖:

日誌檔案路徑為 所要放置dump檔案的資料夾,故障轉儲 就是該目錄下的dmup檔案位置

選擇指令和錯誤數量可以寫多點

型別選完整選項選1 2 3 6項

當程式崩潰時,dr watson會在設定目錄下生成dump檔案

通過以上兩種方式就生成了dump檔案,下面就剩下分析了。我們通過兩種方式來進行分析

(1)windbg方式分析

(a)開啟windbg,file/sybolm file path/ 指定發布exe 的時候.pdb生成的路徑

(b)file/open crash dump/  開啟生成的dmp檔案

(c)使用windbg的命令來分析bug, 如命令: !analyze -v

(d)也可以使用快捷欄的功能檢視一些變數的基本資訊來幫助檢視bug

(2)通過vs2005分析,方法參照**:

**:

Windows下dump檔案生成與分析

一 生成dump檔案方式 1.1任務管理器 在程式崩潰後,先不關閉程式,在任務管理器中找到該程式對應的程序。右鍵 建立轉儲檔案。此時會在預設的目錄下建立出乙個dump檔案。可以看出,此種方法只適用於程式崩潰但沒有立即自行退出的情況。倘若程式故障後自行退出,則此方法就難以應用。不過,我們可以在登錄檔中...

windbg 生成並分析dump檔案

1 開啟dump格式檔案 開啟windbg,通過選單 file open crash dump 選擇dump檔案開啟,也可通過cmd開啟dos命令視窗,切換到windbg所在目錄,利用命令 windbg z d lines2009 7 25 22 20 33 900.dmp z表示路徑 圖1.1 利...

C 生成dump檔案,除錯dump檔案

dump 檔案是程序的記憶體映象 可以把程式的執行狀態通過偵錯程式儲存到dump檔案中 dump 檔案是用來給驅動程式編寫人員除錯驅動程式用的 這種檔案必須用專用工具軟體開啟 比如使用 windbg visualstudio開啟 當我們的程式發布出去之後 在客戶機上是無法跟蹤自己 的 bug 的 所...