WinDbg基础

2023-08-26 02:52:51 浏览数 (1)

minni dump文件 异常捕获模块自动生成

全dump文件 任务管理器导出,动态调试使用.dump导出

未捕捉异常无法生成dump文件,导出中二次崩溃,程序主动调用abort终止进程都会导致dump文件未生成。

静态调试

打开dmp文件后导入pdb符号表,注意时间戳是否一致检查加载成功

动态调试

使用WinDbg打开程序,打开程序后再附加WinDbg

//栈溢出异常VS调试直接退出,调试时函数调用堆栈有问题时使用

PDB文件

程序模块符号表,需要严格匹配时间戳,pdb文件名称必须和模块名称一致。每次编译生成一次,导入后可以查看函数具体名称和行号。

基本流程

查看异常类型,查看异常的汇编指令及寄存器值,查看函数调用堆栈,对照源码分析,有时查看相关变量的值。

.ecxr 切换到异常线程

kn/kv/kp 查看当前线程的函数调用堆栈

~ns 切换到n号线程,~查看所有线程

g 跳过中断

lm vm 查看模块详细信息

.reload 强制加载pdb文件

.hh 打开帮助文档

.effmach x86 切换到32位上下文

IsBadReadPtr IsBadWritePtr已废弃,调试中断时g继续

0 人点赞