!analyze -v
FAULTING_IP
- 显示发生故障时的指令指针
EXCEPTION_RECORD
- 显示此崩溃的异常记录
- 也可以通过
.exr
查看
BUGCHECK_STR
- 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃
- 在用户模式调试中,将显示异常代码
DEFAULT_BUCKET_ID
- 显示了该故障属于的失败的一般类别
LAST_CONTROL_TRANSFER
- 显示堆栈上的最后一个调用
- 在这种情况下,地址为
0x01050963
的代码调用了0x77F97704
的函数 - 可以将这些地址与
LN
(列表最近的符号)命令一起使用这些地址来确定这些地址位于哪些模块和功能中
STACK_TEXT
- 显示故障组件的堆栈跟踪
FOLLOWUP_IP
- 当这个分析命令确定可能导致错误的指令时,它将其显示在本字段中
STACK_COMMAND
- 显示用于获得
stack_text
的命令
ln
概述
/D
- 指定输出使用
DEBUGGER
标记语言(DML
)显示DML
输出包含一个链接,您可以使用该链接来探索包含最近符号的模块- 它还包括一个链接,您可以使用该链接来设置断点
lm
概述
LM
命令显示指定的已加载模块。输出包括模块的状态和路径
D
- 使用调试器标记语言显示输出
o
- 仅显示加载模块
l
- 仅显示其符号信息已加载的模块\
v
- 该显示包括符号文件名,图像文件名,校验和信息,版本信息,日期邮票,时间戳记以及有关模块是否为管理代码(
CLR
)的信息
u
- (仅内核模式)仅显示用户模式符号信息
k
- (仅内核模式)仅显示内核模式符号信息
e
- 仅显示具有符号问题的模块
- 这些符号包括没有符号和模块的模块,其符号状态为
c
,t
,#
,m
或导出。有关这些符号的更多信息,请参见符号状态缩写。
c
- 显示校验和数据
1m
- 减少输出,因此除了模块的名称外,什么都没有
- 如果您使用
.foreach
令牌将命令输出输送到另一个命令的输入中,则此选项将很有用。
sm
- 按模块名称而不是按开始地址对显示器进行分类
- 此外,您只能包含以下选项之一。如果您不包含以下任何选项,则显示包含符号文件名
i
显示图像文件名f
显示完整的图像路径。 (除非您发布了.reload -s
命令,否则此路径始终匹配在初始加载通知中显示的路径。)当您使用f
时,不显示f
,符号类型信息将不会显示。n
显示图像名称。当您使用n
时,不会显示符号类型信息。p
显示映射的图像名称。当您使用p
时,不会显示符号类型信息。t
显示文件时间戳记。当您使用t
时,不会显示符号类型信息。
~
概述
- 显示当前进程中指定线程或所有线程的状态
~e
- 为特定线程或目标进程中的所有线程执行一个或多个命令
1 |
0:000> ~2e r; k; kd |
~f
- 冻结了给定的线程,导致其停止并等待直到未冻结
- 冻结后,该线程将不再被调度执行,调试器会阻止其获得
CPU
时间片- 常用于排查线程间的竞争问题或隔离异常线程
- 冻结是调试器内部行为,不影响线程的挂起计数
~u
- 解冻给定线程
1 |
0:000> ~123 u |
~n
- 挂起指定线程
- 挂起线程通过增加挂起计数(
Suspend Count
),当计数≥1
时线程暂停执行
~m
- 恢复指定线程
~s
- 切换线程
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ breakpad记述:Windows下静态库的编译使用03/15
- ♥ Windows系统学习一03/21
- ♥ Windbg关于死锁的简单调试分析总结09/13
- ♥ Windows_API_Apply_112/31
- ♥ Dump分析:堆内存泄露03/29
- ♥ Windows 核心编程 _ 作业07/01