WinDbg配置和使用基础

本文介绍了微软发布的源码级调试工具WinDbg,包括其功能特性、下载安装方法、配置步骤及基本使用技巧。WinDbg适用于内核模式和用户模式的调试,还能调试Dump文件。

WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。

1. WinDbg介绍:
    Debugging Tools and Symbols: Getting Started
http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx
    A word for WinDbg
http://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2004/08/03/4656.aspx


2. WinDbg下载:
  Install Debugging Tools for Windows 32-bit Version
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
  Install Debugging Tools for Windows 64-bit Versions
http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx


3. 配置WinDbg:
     运行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下载地址中http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx,下载相应操作系统所需要的完整的Symbol安装包,并进行安装,例如我将其安装在D:\WINDOWS\Symbols,在该框中输入“D:\WINDOWS\Symbols”。(这里要注意下载的Symbols的版本一定要正确,在我的Win2003+Sp1上,我曾经以为安装Win2003+Sp2的Symbols可能会牛×点,但结果证明我错了,用WinDbg打开可执行文件时,提示“PDB symbol for mscorwks.dll not loaded;Defaulted to export symbols for ntdll.dll”的错误,我有重新装上Win2003+Sp1的Symbols, 现在一切运行正常^_^


4. 使用WinDbg:
     WinDbg提供了图形界面和命令行两种运行方式。这里介绍使用图形界面的WinDbg来调试应用程序:
     File->OpenExecutable->可以选择一个可执行文件进行调试;
     File->Attache to a Process->可以选择一个运行中的进程,并对其进行调试;

 
 
 


     至此,我们就可以在上图中用红色方框标记的文本框中输入各个功能指令了(有关指令的帮助文档,可以参考:Help->Contents->Debugging Tools for Windows->Debuggers->Debugger Reference,该目录下列集了所有指令机器功能说明!)。 

 


happyhippy作者: Silent Void 
出处: http://happyhippy.cnblogs.com/
转载须保留此声明,并注明在文章起始位置给出原文链接。
### 如何配置 WinDbg WinDbg 是 Microsoft 提供的强大调试工具,用于分析崩溃转储文件、实时调试应用程序以及驱动程序开发中的错误排查。以下是关于如何设置配置 WinDbg 的详细介绍。 #### 安装 WinDbg 首先需要安装 WinDbg 工具。可以通过 Windows SDK 或者独立的 Debugging Tools for Windows 来获取该工具[^1]。 - 下载并安装最新版本的 Windows SDK,其中包含了 WinDbg。 - 如果仅需 WinDbg 而不需要整个 SDK,则可以选择单独下载 Debugging Tools for Windows。 #### 设置符号路径 为了更好地解析堆栈跟踪其他调试信息,必须正确配置符号路径。可以按照以下方法操作: ```plaintext .sympath SRV*c:\symbols*https://msdl.microsoft.com/download/symbols ``` 上述命令会将本地缓存目录设为 `c:\symbols` 并指向微软公共符号服务器以自动下载所需符号文件。 #### 加载扩展插件 WinDbg 支持多种扩展脚本功能来增强其能力。例如 SOS.dll 可用来诊断 .NET 应用程序的问题;其他第三方插件也可以极大地提高工作效率。加载方式如下所示: ```plaintext .load C:\Path\To\Extension.dll ``` #### 基础配置选项 一些常用的初始化参数可以在启动时通过 `.cfgcmd` 命令设定好,默认保存到用户的个人资料夹下的 `_NT_SYMBOL_PATH_` 文件里。这些基础配置包括但不限于显示级别调整(`!analyze -v`)、断点定义等。 ```python # 示例 Python 脚本片段展示如何自动化部分任务 import subprocess def configure_windbg(): process = subprocess.Popen(['windbg', '-c', '.sympath SRV*c:\\symbols*https://msdl.microsoft.com/download/symbols'], stdout=subprocess.PIPE) output, error = process.communicate() configure_windbg() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值