天天看点

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

继续阅读