• WindDbug应用


       Windbg是windows平台上的一款相当强大的调试工具,可以从msdn网站下载得到,最新版本包含在windows sdk中,默认会被安装在C:Program FilesDebugging 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

  • 相关阅读:
    nvalid bound statement (not found)
    小程序
    maven启动项目时报错
    创建Maven项目出错
    小程序的tab标签实现效果
    C# 异步
    C#中计算时间差
    linq筛选唯一
    GMap.net控件学习记录
    nodepad++ 正则 替换
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3822820.html
Copyright © 2020-2023  润新知