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后,需要先配置才能正常使用。配置步骤如下:
1.在系统变量下建立如下变量:
名称:_NT_SYMBOL_PATH 值:F:\symbol; SRV*F:\symbol*http://msdl.microsoft.com/download/symbols;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols【目的是告诉windbg如何搜索符号文件(*.pdb)】
名称:_NT_EXECUTABLE_IMAGE_PATH 值:F:\symbol; SRV*F:\symbol*【目的是告诉windbg如何搜索转储文件*.dmp】
注意:上文中提到的f:\symbols是我本地的缓存目录,根据个人喜好不同,可以自定义。另外根据visual studio安装路径不同,sdk自带symblos的路径也可能不同。
另外如果你也可以直接去 http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx页面下载对应操作系统的全部symblos文件,下载后直接放到缓存目录中,(我的电脑中是f:\symbols)。
2.打开windbg.检查环境变量设置是否成功:
1)file->open Executable操作中打开c:\windows\notepad程序。
2)在windbg的命令窗口中录入"lm”命令,列出进程加载的dll.
3)找到ntdll行,如果如下显示,则表明成功,否则需要重新设置环境变量。【注意Pdb文件的位置根据环境变量不同,可能不一样。】
7c920000 7c9b6000 ntdll (pdb symbols) F:\symbol\ntdll.pdb\99192024C5EB4830AC602195086637082\ntdll.pdb