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. HDU4523+简单

    题意很简单. 一次最多多切出一条边! 其余的就没什么好说的了 import java.util.*; import java.math.*; public class Main{ public sta ...

  2. 服务器部署_centos 安装nginx手记

    前言: a.linux上安装nginx网上有很多文章,本文仅仅是自己整理备忘. b.安装centos的时候,把develop相关组件都装上,免得缺这个缺哪个. c. 本文软件版本:nginx-1.2. ...

  3. loadrunner_analysis技巧_filter和group by

    很多时候要对loadrunner的收集结果进行一些选择性的过滤,比如我们使用阶梯式增加用户的方式,在初期vu没有全部准备好的情况下,此时的曲线不能体现实际情况,所以我们可以用 filter这个工具来帮 ...

  4. 【Linux安全】防止 root 用户远程登录

    防止 root 用户远程登录,在终端输入以下命令: vim /etc/ssh/sshd_config 修改如下行为:no PermitRootLogin no 如图所示:

  5. Java 数组倒序

    String s[] = {,,,,,,}; ; i < s.length; i ++){ System.-i] +","); }

  6. python的whl文件安装

    python27win32安装:https://www.python.org/downloads/   下载2.7的        安装中一路下一步即可: 配置python系统环境变量: 新建: PY ...

  7. Eclipse问题解决方案,不断更新

    执行“software update”时出现:Error retrieving "feature.xml"... 执行“software update”时出现:Error retr ...

  8. HTML5标签一览

    HTML5标签一览,点击下载 访问密码:1907

  9. C# XML序列化操作菜单

    鉴于之前写的一篇博文没使用XML序列化来操作菜单,而且发现那还有一个问题,就是在XML菜单的某个菜单节点前加上一些注释代码的就不能读取,现在使用XML序列化后可以很方便的读取,故在此写一写.   XM ...

  10. MongoDB中ObjectId的误区,以及引起的一系列问题

    近期对两个应用进行改造,在上线过程中出现一系列问题(其中一部分是由于ObjectId误区导致的) 先来了解下ObjectId: TimeStamp 前 4位是一个unix的时间戳,是一个int类别,我 ...