WindDbug应用
Windbg是windows平台上的一款相当强大的调试工具,可以从msdn网站下载得到,最新版本包含在windows sdk中,默认会被安装在C:\Program Files\Debugging Tools for Windows 目录中,可以直接把这个目录打包复制到其它机器上使用。
Windbug常用命令:
- !analyze -v 自动分析dump
- Kv 查看栈回溯
- .ecxr 显示当前异常上下文
- .cxr 切换异常帧上下文
- .exr 显示异常信息
- .frame 设置当前栈帧
- Dv 显示当前栈帧局部变量
- Dd 显示内存中的数据
- R 查看寄存器
- Lmvm 查看模块详细信息
- r 可以显示系统崩溃时的寄存器,和最后的命令状态
- dd 显示当前内存地址,dd 参数:显示参数处的内存
- u 可以显示反汇编的指令
- kb 显示call stack 内容
- kv.bugcheck 可以显示出错的代码
基本步骤:
1.运行windbg,设置symbol路径:
运行WinDbg -> 菜单 -> File->Symbol File Path -> 按照下面的方法设置_NT_SYMBOL_PATH变量:
在弹出的框中输入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”
(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)。
Symbol File Path 只填写 SRV* 的话,表示直接从MS下载symbols(联网的话,这样设置比较省事)
2.菜单 File -> Open Crash Dump,打开要分析的dump文件
3.菜单 Symbol File Path,设置符号文件路径在windbg命令行输入 !analyze -v 执行自动分析,如果栈回溯中有未加载符号的模块,可以通过 lmvm 命令找到模块的符号文件后,执行 !analyze -v 重新分析。
分析结果:

From:http://qa.xishanju.com/?p=384
WindDbug应用的更多相关文章
随机推荐
- throw 与 throws的应用
throws---------->把异常交给调用处. 可以结合throw来同时使用. throws 用在方法声明处,表示本方法不处理异常.可以结合throw使用 throw 表示在方法中手工抛出 ...
- 修改Tomcat内存大小
Windows下,在文件/bin/catalina.bat,Linux下,在文件/bin/catalina.sh的前面,增加如下设置: JAVA_OPTS=-Xms[初始化内存大小] -Xmx[可以使 ...
- 对于Unicode编码在js中和html中
1.对于Unicode在js中 var a="\u9102WQW121" 中"\"是需要转义的,直接在页面输出的效果
- Java 数组倒序
String s[] = {,,,,,,}; ; i < s.length; i ++){ System.-i] +","); }
- Android进阶篇-时间滑动控件
仿Iphone时间选择滑动控件: WheelView.java: /** * @author Administrator * * 时间滑动滚轮 */ public class WheelView ex ...
- Android 内核初识(8)Binder
简介 Binder是Android系统提供的一种IPC(进程间通信)机制.由于Android是基于Linux内核的,因此,除了Binder外,还存在其他的IPC机制,例如管道和socket等.Bind ...
- TigerLeapMC V1.3 for Windows(支持DLNA)
TigerLeapMC V1.3 2014-04-10: 1.更新tlplayer TigerLeapMC是基于tlplayer作为播放器的集成DLNA,(DMS,DMR,DMP)等,支持各种网络播放 ...
- poj1141Brackets Sequence(dp+路径)
链接 dp好想 根据它定义的 记忆化下就行 路径再dfs一遍 刚开始以为要判空格 所以加了判空格的代码 后来知道不用 .. #include <iostream> #include< ...
- NOI2014 动物园
3670: [Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 174 Solved: 92[Submit][Status] D ...
- 函数的重载与 泛型(generic)有什么不同?
函数重载指 重载函数,形参(类型)不同,实现的功能一样. 泛型算法指2个方面:这些算法可作用于各种不同的容器类型,而这些容器类型又可以容纳多种不同类型的元素.