WinDbg
WinDbg是Microsoft Windows上的多用途调试器,可从微软网站上免费下载安装使用。可用于调试用户态下的应用程序、驱动程序,以及核心态下的操作系统自身。该软件是GUI界面,但与更为著名但功能稍弱的Visual Studio Debugger几乎完全不同。
开发者 | 微软 |
---|---|
当前版本 | 10.0.20153.1000(2020年4月29日 | )
操作系统 | Microsoft Windows |
类型 | 调试工具 |
许可协议 | 商用 |
网站 | WinDbg at microsoft.com |
WinDbg可调试核心态或用户态下的内存卸载文件。
WinDbg能从服务器自动装载匹配的调试符号文件,如PDB文件。调试符号文件在源代码文件与二进制可执行程序之间建立对应。Microsoft的公开的符号服务器提供了Windows 2000以后各版本操作系统及服务包的绝大部分符号。
WinDbg较新版本作为免费的Debugging Tools for Windows包的组成部分被发行,在WinDbg与命令行调试器前端如KD,CDB,NTSD之间共享了同一个调试器后端。
调试器扩展命令
WinDbg可以装入DLL扩展以增强调试器的命令。扩展命令总是以!为前缀。
例如,用于调试Common Language Runtime。SOS扩展用于调试.NET代码。Psscor2与Psscor4是SOS的超集。Psscor2是微软公司内部用于对.NET Framework versions 2到3.5做产品支持服务的工具。[1]Microsoft直到2010年才公开发布了Psscor2[2],但在此数年前微软就已经公布了该扩展的命令。[3]Psscor4支持.NET Framework versions 4。
与虚拟机配合
WinDbg可以调试运行于VMware、VPC、Parallels等虚拟机上的Microsoft Windows内核。
下载
WinDbg与Debugging Tools for Windows包,可以作为Windows Driver Kit (WDK)或Microsoft Windows SDK的组成部分下载安装。也可以单独(standalone)下载安装,这只需要在安装WDK或SDK时,只选上Debugging Tools for Windows,清空其它安装选项即可。
参考文献
- ^ New debugger extension for .NET (PSSCOR2). Microsoft. [2014-06-15]. (原始内容存档于2013-06-16).
- ^ MSDN Blogs. Microsoft. [2014-06-15]. (原始内容存档于2013-08-28).
- ^ MSDN Magazine Issues. Microsoft. [2014-06-15]. (原始内容存档于2014-12-03).
外部链接
- 起步:Install Instructions (页面存档备份,存于互联网档案馆),Part 1 (页面存档备份,存于互联网档案馆), Part 2 (页面存档备份,存于互联网档案馆)
- Debugging Tools for Windows - information and free downloads
- WinDbg. From A to Z! (页面存档备份,存于互联网档案馆) - Theory and examples, 111 slides
- Common WinDbg Commands (Thematically Grouped) (页面存档备份,存于互联网档案馆)
- Tutorial on solving system crashes using WinDbg
- Symbols loading in WinDbg
- Windows Debuggers: Part 1: A WinDbg Tutorial (页面存档备份,存于互联网档案馆)
- KD extension for fast VMWare and VirtualBox debugging (页面存档备份,存于互联网档案馆)
- SOS Debugging Extension (SOS.dll) (页面存档备份,存于互联网档案馆)
- psscor4 (.NET 4.0) (页面存档备份,存于互联网档案馆) or psscor2 (.NET 2.0-3.5) Replacement for SOS with a superset of commands
- [1] (页面存档备份,存于互联网档案馆) WinDBG v6.12.2.633 available via Windows Driver Kit Version 7.1.0
- Extension for python scripting (pykd) (页面存档备份,存于互联网档案馆)