Windbg是一款适用于Windows系统的调试工具,相比较于Visual Studio,这是一个轻量级的调试工具,所谓轻量级指的是安装文件较小,但调试功能,却比VS更为强大,还有另外一个用途,可以用来分析dump数据。虽然WinDbg也提供图形界面操作,但强大的地方还是有着强大的调试命令,一般情况会结合GUI和命令行进行操作,常用的视图有:局部变量、全局变量、调用栈、线程、命令、寄存器、白板等,其中“命令”视图是默认打开的。Windbg还有一个强大的蓝屏分析修复功能,可以分析dmp文件,帮助用户找出电脑蓝屏的原因并以及解决。
软件特色
通过 WinDbg 中提供的多种功能和编程优势来改进调试体验
1、连接设置和召回:
保存最近的目标和会话配置。 可以从 “文件” 菜单中快速重启已保存的项目。
2、深色主题:
通过选择 “文件>设置”启用用户界面首选项,如深色主题。
3、键盘导航:
使用 Ctrl+Tab 等键盘快捷方式,可在窗口之间轻松移动。
4、转储文件处理器检测:
利用处理器体系结构的自动检测并快速设置托管调试。
5、性能改进:
使用异步加载的工具窗口,并根据需要取消它们。 运行命令时,WinDbg 可以停止加载本地变量、监视窗口或其他窗口。
WinDbg工具窗口介绍
1、命令:
提供改进的 DML 支持、文本突出显示和搜索(包括正则表达式)。
2、源代码:
提供语法突出显示和其他与大多数新式文本编辑器类似的常规改进。
3、反汇编:
在滚动时保持当前指令的突出显示。
4、断点:
显示所有当前断点、一键切换和命中计数。
5、脚本:
使你能够更轻松地开发 JavaScript 和 NatVis 扩展,并使用错误突出显示和 IntelliSense。
6、数据模型:
提供可扩展和可浏览版本的 dx 和 dx -g 命令。 此功能有助于在 NatVis、JavaScript 和 LINQ 查询的基础上创建功能强大的表。
7、局部变量和监视:
命令使用的 dx 数据模型为基础,它们都受益于与其他数据模型窗口相同的功能。
8、内存:
具有突出显示功能和滚动功能的优化。
9、日志:
提供 WinDbg 内部详细信息的记录,可以查看日志进行故障排除或监视长时间运行的命令。
开始调试说明
通过 WinDbg 中提供的多种功能和编程优势来改进调试体验:
1、集成时间旅行调试(TTD)
在启动或附加到进程时,选择“使用时间旅行调试记录”选项。 WinDbg 设置 TTD,开始录制,之后打开跟踪文件。
2、启动应用包
通过单击鼠标调试通用应用或后台任务。
3、附加到进程:
使用 “附加 ”视图获取正在运行的进程、访问更简单的配置和搜索支持的详细摘要。
功能介绍
1、蓝屏转储分析
DMP文件加载:通过File -> Open Crash Dump加载蓝屏生成的DMP文件,显示崩溃时的详细信息。
自动错误分析:执行!analyze -v命令,生成包含错误代码、参数及可能原因的详细报告。
堆栈跟踪:使用kb或kbn命令查看完整的函数调用链,定位崩溃发生的代码位置。
2、实时调试
本地与远程调试:支持通过网络或本地连接调试正在运行的系统或应用程序,适用于诊断复杂问题。
多目标调试:可同时调试多个转储文件或实时目标,提升多场景问题排查效率。
3、内存与资源分析
内存布局查看:分析内存转储文件,识别内存泄漏、溢出或非法访问问题。
线程与资源管理:通过!threadpool、!locks等命令分析线程池、锁竞争等资源管理问题。
4、高级诊断工具
托管代码支持:加载SOS扩展(如.loadby sos mscorwks),分析.NET应用程序的内存占用和异常。
符号缓存优化:配置本地符号缓存目录(如C:Symbols),减少重复下载,提升调试速度。