!analyze –v 显示当前异常的信息
.sympath[+] [Path [; ...]]
用于添加或设置符号路径或显示当前的符号路径
.symfix[+] [LocalSymbolCache]
用于将符号路径设置为微软网站上的符号存储位置
.srcpath[+] [Directory [; ...]]
.lsrcpath[+] [Directory [; ...]] (只能在Windbg中使用,并且不能在脚本中使用)
设置或显示源代码搜索路径
x [Options] Module!Symbol x [Options] *
显示模块中的符号
例如: 显示calc中D开头的符号
0:003> x calc!D*
00000000`ff211e24 calc!DlgProc (<no parameter info>)
00000000`ff22a038 calc!Deletegloballocale (<no parameter info>)
……
d{a|b|c|d|D|f|p|q|u|w|W} [Options] [Range] dy{b|d} [Options] [Range] d [Options] [Range]
d* 显示特定范围的内容
.reload [Options] [Module[=Address[,Size[,Timestamp]]]]
.reload –?
删除指定模块里的所有符号,并重新加载符号
例如:
0:000> .reload /u ntdll.dll
Unloaded ntdll.dll
.process [/i] [/p [/r]] [/P] [Process]
指定使用哪个进程的内容
!process [/s Session] [/m Module] [Process [Flags]]!process [/s Session] [/m Module] 0 Flags ImageName
扩展了进程信息的显示,内核模式命令
例如:
!process 0 0
列出所有进程和普通属性
dt [-DisplayOpts] [-SearchOpts] [module!]Name [[-SearchOpts] Field] [Address] [-l List]
dt [-DisplayOpts] Address [-l List]
dt –h
显示简单类型的数据,包括结构体和联合体
!thread [-p] [-t] [Address [Flags]]
内核态命令,扩展显示线程信息
!handle [Handle [UMFlags [TypeName]]]
!handle –?
!handle [Handle [KMFlags [Process [TypeName]]]]
!handle用于显示进程中句柄信息
线程句法规则
~. 当前线程
~# 触发异常或者调试事件的线程
~* 进程中所有线程
~Number 索引为Number的线程
~~[TID] ID为TID的线程
~[Expression]
!object Address
!object 0 Name
!object Path
!object –r
!object用于显示系统对象信息
g(G0) 用于开始执行指定进程和线程
用户模式
[~Thread] g[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
内核模式
g[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
p(Step) 单步执行一条指令或源码行
用户模式
[~Thread] p[r] [= StartAddress] [Count] ["Command"]
内核模式
p[r] [= StartAddress] [Count] ["Command"]
Windbg全部命令介绍 http://msdn.microsoft.com/en-us/library/windows/hardware/ff540507(v=vs.85).aspx