天天看點

WINDBG 相關指令

<b>1、基本指令幫助</b>

(1)斷點指令B[C|D|E] [&lt;bps&gt;]

clear|disable|enable breakpoints

BL

list breakpoints

BP &lt;address&gt;

set soft breakpoints

BA &lt;access&gt; &lt;size&gt; &lt;addr&gt;

break on access

(2)資料檢視指令

D[type][&lt;range&gt;]

dump memory

DT [-n|y] [[mod!]name] [[-n|y]fields][address] [-l list] [-a[]|c|i|o|r[#]|v]

dump using type information

DV [&lt;name&gt;] 

dump local variables

(3)資料修改指令

E[type] &lt;address&gt; [&lt;values&gt;]

enter memory values

(4)運作

G[H|N] [=&lt;address&gt; [&lt;address&gt;...]] 

go

P [=&lt;addr&gt;] [&lt;value&gt;]

step over

(5)堆棧操作

K[b|p|P|v]

(6)顯示加載的子產品清單

LM

list modules

(7)寄存器操作

R [[&lt;reg&gt; [= &lt;expr&gt;]]]

view or set registers

(8)Search指令

S[&lt;opts&gt;] &lt;range&gt; &lt;values&gt;

search memory

(9)跟蹤指令T,TA,TB,TC,WT,P,PA,PC

(10)退出

(11)反彙編

U [&lt;range&gt;]

unassemble

UF

(12)版本檢視

version 

show debuggee and debugger version

(13)檢視符号

X [&lt;*|module&gt;!]&lt;*|symbol&gt;

view symbols

(14)檢視表達式

? &lt;expr&gt;

display expression

?? &lt;expr&gt; 

display C++ expression

<b>2.擴充指令</b>

(1)!analyze

作用:該擴充指令執行大量分析,顯示出目前異常或bug的大量資訊

文法:

User-Mode

<b>!analyze</b> [<b>-v</b>] [<b>-f</b> | <b>-hang</b>] [<b>-D</b> BucketID] 

<b>!analyze</b> <b>-c</b> [ <b>-load</b> KnownIssuesFile | <b>-unload</b> | <b>-help</b> ]

Kernel-Mode

<b>!analyze</b> [<b>-v</b>] [<b>-f</b> | <b>-hang</b>]  [<b>-D</b> BucketID] 

<b>!analyze</b> <b>-show</b> BugCheckCode [BugParameters] 

(2)顯示臨界區

!locks 擴充、!critsec 擴充、!cs 擴充和 dt

<b>3.WinDBG快捷鍵</b>

ctrl+s: set symbol path

ctrl+i: set image path

ctrl+p: set source path

ctrl+d: load crash dump file

ctrl+e: load exe file

ctrl+o: open source file

ctrl+r: connect to remote session

ctrl+k: kernel debug

f6: attach to a process

f5: go

f10: step over

f11: step into

ctrl+shift+f5: restart

alt+1: command

alt+2: watch

alt+3: locals

alt+4: registers

alt+5: memoryalt+6: callstack

alt+7: disassambly

alt+8: stratch pad

alt+9: processes and threads

繼續閱讀