1. 程式人生 > >windbg常用命令

windbg常用命令

g :執行
q:結束除錯會話,同時終止被除錯程序的進行
.restart:重啟被除錯應用
version:顯示偵錯程式版本資訊和已載入的偵錯程式擴充套件
.time:顯示系統記錄的各種時間
.sympath 顯示和設定符號搜尋路徑
.sympath+ 增加符號搜尋路徑
bl:列出所有斷點
bc* 清除所有斷點
bc 1 清除1號斷點
bc 1 2 5 清除1號、2號、5號斷點
be* 啟用所有斷點
be 1
be 1 2 5
bd*
bd1
bd 1 2 5
bp 0x7c801b00
bp ‘test.cpp:36’//在36行處放置一個斷點
bp main//在main函式起始處放置一個斷點
bp ‘ConsoleTest.cpp:40’ “j @eax = 0xa3 ‘’; ‘g’”//條件斷點 暫存器eax的值為0xa3時斷住
bm add_*//匹配add_開頭的函式,並在這些函式起始地址處都打上斷點
ba w4 0483dfe0//當對0483dfe0地址寫操作時停下

#除錯執行控制

gH//執行gH命令強制讓偵錯程式返回已經處理了這個異常。【Go with Exception Handled】
gN // 【Go with Exception Not Handled】
// 如果沒有其他偵錯程式也不處理,最後系統會彈出程式終止對話方塊。
gu//執行到當前函式完成時停下【go up】
p//單步執行
p 2//2為步進數目
pc//執行到下一個函式呼叫處停下【step to next call】
pa 7c888888//執行到…地址處停下
t //step into 【trace】
tc//執行到下一個進入點處停下【Trace to Next Call】
ta 7c801b12 // 執行到7c801b12地址處停下 【Trace to Adress】

#檢視變數

dt nRet // 檢視變數nRet的型別與值

dv // 顯示當前函式內所有區域性變數,函式引數

dv n* // 顯示當前函式內n開頭的所有區域性變數,函式引數

dv /t /i /V /a|/n|/z

/*****************************************

更加詳細地顯示當前函式內所有區域性變數,函式引數資訊
i = type (local, global, parameter)
t = data type
V = memory address or register location

a = sort by Addr, n = sort by name, z = sort by size

*****************************************/

#呼叫堆疊

k // 顯示當前呼叫堆疊

kn // 帶棧編號顯示當前呼叫堆疊

kb // 打印出前3個函式引數的當前呼叫堆疊

kb 5 // 只顯示最上的5層呼叫堆疊

.frame // 顯示當前棧幀

.frame n // 設定編號n的棧幀為當前棧幀

.frame /r n // 設定編號n的棧幀為當前棧幀 並顯示暫存器變數

!uniqstack // 顯示所有執行緒的呼叫堆疊

#暫存器

r // 顯示所有暫存器資訊

r eax, edx // 顯示eax,edx暫存器資訊

r eax=5, edx=6 // 對暫存器eax賦值為5,edx賦值為6

#記憶體

da /c 5 7c801e02 // 從7c801e02記憶體處開始,顯示5個ascii字元

/*****************************************

d[a| u| b| w| W| d| c| q| f| D] [/c 列數] [地址]

a = ascii chars
u = Unicode chars
b = byte + ascii
w = word (2b)
W = word (2b) + ascii
d = dword (4b)
c = dword (4b) + ascii
q = qword (8b)
f = floating point (single precision - 4b)
D = floating point (double precision - 8b)

*****************************************/

dyb /c 3 7c801e02 // 從7c801e02記憶體處開始,顯示3個byte及二進位制

/*****************************************

dy[b | d] … // b = binary+byte d = binary+dword

*****************************************/