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应用的更多相关文章

随机推荐

  1. MUH and Cube Walls

    Codeforces Round #269 (Div. 2) D:http://codeforces.com/problemset/problem/471/D 题意:给定两个序列a ,b, 如果在a中 ...

  2. HTML textarea输入框限制长度 (引)

    引自:http://aqingsao.iteye.com/blog/398897 textarea在Web开发中经常用到,但是它本身不支持maxlength,可以通过下面的js实现: function ...

  3. 【Linux远程管理】RDP协议远程管理

    RDP(Remote Desk Protocol).远程桌面协议,常用的Windows操作系统的远程桌面管理就就是基于该协议. 而在Linux下,我们也是可以找到开源的rdp server的,这就是x ...

  4. 在C++中子类继承和调用父类的构造函数方法

    构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需 ...

  5. Android:MD5加密

    /** * @author gongchaobin * * MD5加密 * * @version 2013-8-22 */ public class MD5Util { // 用来将字节转换成 16 ...

  6. [译]GotW #5:Overriding Virtual Functions

       虚函数是一个很基本的特性,但是它们偶尔会隐藏在很微妙的地方,然后等着你.如果你能回答下面的问题,那么你已经完全了解了它,你不太能浪费太多时间去调试类似下面的问题. Problem JG Ques ...

  7. Android 内核初识(6)SystemServer进程

    简介 SystemServer的进程名实际上叫做“system_server”,通常简称为SS. 系统中的服务驻留在其中,常见的比如WindowManagerServer(Wms).ActivityM ...

  8. MapReduce的数据流程、执行流程

    MapReduce的数据流程: 预先加载本地的输入文件 经过MAP处理产生中间结果 经过shuffle程序将相同key的中间结果分发到同一节点上处理 Recude处理产生结果输出 将结果输出保存在hd ...

  9. WebChart网页局域网聊天系列(二):服务器结构及核心代码

    public partial class MainForm : Form { private Socket server;//服务器Socket private int userNum;//当前在线用 ...

  10. 兼容ie\firefox\chrome的cursor

    cursor:hand 与 cursor:pointer 的效果是一样,都像手形光标. 但用FireFox浏览时才注意到使用cursor:hand在FireFox.chorme里并被支持.cursor ...