Windbg分析dump及除錯程式

2021-08-17 17:49:10 字數 2128 閱讀 9891

註解:帶有資料段、非共享的讀/寫記憶體頁和其他有用的資訊的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檔案,...