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 的 所...