註解:帶有資料段、非共享的讀/寫記憶體頁和其他有用的資訊的minidump。包含了通過minidump能夠得到的最多的資訊。是一種折中方案。
選項(4): /f
命令列示例: .dump /f c:/dump.dmp
註解: 其中.dump是dump生成命令,/f是生成全資訊dump
(1)、 ~ 命令是用來切換目標執行緒
~ 可以顯示執行緒的資訊
~0s 把當前的執行緒切換到0號執行緒,也就是主線程,切換後提示符會變為0:000.
(2) 、~* 命令列出當前程序中的所有執行緒的詳細資訊
(3)、~*kb 命令列出所有執行緒的堆疊
(1)dd + address: 將記憶體位址中內容以四位元組為單位顯示出來
(2)da : 將記憶體中內容,以ascii碼的形式顯示出來,主要用於觀察字串
(3)du : 將記憶體中內容以unicode碼形式顯示出來,也用於顯示字串
(4)dv: 不用加記憶體位址,顯示當前棧上面的所有的變數
(5)dt+ 格式 + (address): 把記憶體位址所在的內容,以制定的格式顯示出來,這個格式一般是結構體等。
(6)dds: 把制定位址開始的內容,列出來,如果能對應到**符號,將符號顯示出來。
參考**:
參考**:
參考**:
1、設定symbol file path ...... ##符號路徑,即pdb路徑(windows下)。
2、設定source file path ...... ##原始碼路徑。
3、file->open executable...... ##可執行檔案(windows下),此步驟需要在同樣的介面配置可執行檔案的執行引數。
1、客戶端,命令列除錯的介面。
2、windbg命令列處使用bp main在main函式處設定斷點。
3、windbg命令列處使用g開始執行程式,相當與vs下f5的效果。
4、在3步驟後,程式會在main函式處停下(即已經停在相應的**處),然後可以在**中使用:
f9:設定斷點,只要在游標定位的位置(上圖中灰色條)按f9鍵即可,再按一次f9鍵則會刪除斷點。(相當於ollydbg 中的 f2)
f10:單步步過。每按一次這個鍵執行一條反彙編視窗中的一條指令,遇到 call 等子程式不進入其**。(相當於 ollydbg中的 f8)
f8 or f11:單步步入。功能同單步步過(f10)類似,區別是遇到 call 等子程式時會進入其中,進入後首先會停留在子程式的第一條指令上。(相當於 ollydbg 中的 f7)
f7:執行到選定位置。作用就是直接執行到游標所在位置處暫停。(相當於 ollydbg 中的 f4)
shift+f11:執行到跳出函式。
f5:執行。按下這個鍵如果沒有設定相應斷點的話,被除錯的程式將直接開始執行。(相當於 ollydbg 中的 f9)
1、用windbg除錯的過程中,如果發現程式死迴圈了,需要選break掉程式(windbg的工具欄某個下拉選項中有),然後使用命令
~*kv
or
!runaway ##檢視各個執行緒的消耗程度
(1)使用!runaway後便可看到類似的結果:
user
mode
time
thread
time
5:17c 0 days 0:02
:47.373
6:530 0 days 0:00
:01.154
4:188 0 days 0:00
:01.123
0:72c 0 days 0:00
:00.031
(2)使用命令~5 s 切換到17c執行緒空間(5 以及17c指上面的示例)。
參考**:
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 利...
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 利...
Windbg分析Dump檔案
windbg是微軟發布的一款相當優秀的原始碼級除錯工具,可以用於kernel模式除錯和使用者模式除錯,還可以除錯dump檔案。1 檢視高記憶體。2 檢視高cpu。3 程式異常。4 程式hang死。1 使用windbg偵錯程式attach到需要除錯的程序。會暫停程序的執行 2 抓取程序的dump檔案,...