WINDBG分析CrashDump配置

该文章参考网上内容,加上一些些自己的使用经验。

Ø  配置符号路径

WinDbg主菜单——File——Symbol Search Path

WINDBG分析CrashDump配置

输入框中的输入规则如下:

1)配置程序对应symbol文件的路径

2)多个路径之间使用分号隔开

3)配置微软符号文件的路径:

                   srv*"D:\Symbols"*http://msdl.microsoft.com/download/symbols

                   "srv"符号服务器的标识

                   "D:\Symbols"本地缓存路径,windbg会将使用到的符号文件下载存放在该目录,并在下次执行时,优先寻找该目录

                  " http://msdl.microsoft.com/download/symbols"符号服务器地址,该地址为微软符号服务器地址

4)微软符号地址离线下载地址:

                   "http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx"

5)当前程序的符号需要在编译器设置编译过程中生成符号文件,VC6.0需要配置,配置方式为:项目设置——链接——常规——勾选“产生调试信息”,(本人现用汉化版,英文版设置方法相同)

 

Ø  配置源码位置

1)主菜单——FILE——Source Search Path

2)多个源码路径使用分号隔开

3)使用源码调试,必须设置编译器在编译的过程中禁用优化。(现在没有发现其它办法,因此感觉源码调试在CrashDump分析中,用处不是很大,,待学习中)

Ø  相关指令

操作指令

!analyze -v

自动对.dmp做基本的分析

.ecxr

检查EXCEPTION_RECORD

 

Symbol命令

ld module

加载pdb

.reload /f

强制加载所有模块

lm

查看已加载的模块列表

x module!symbol

查询指定名称的symbol

ln address

显示指定地址对应的symbol

 

执行流程分析

~0s

切换线程

kb/kv/k..

显示调用堆栈

u/ub/uf

反汇编代码

dds

查看一段地址中的数据,并显示其对应的symbol

 

 

 

数据分析

r

查看/修改寄存器

?

计算表达式的值

.expr

表达式切换

db/dd/du/da

显示内存中的数据:分别按照byte/dowd/unicode string/ansi string

dv

显示局部变量列表

dt

显示指定symbol的结构

 

 



分析效果图:

  报错代码截图:

WINDBG分析CrashDump配置

WinDbg分析情况截图:

WINDBG分析CrashDump配置

上一篇:ButterKniffe源码阅读


下一篇:copy与mutableCopy的内存管理剖析