概述
日常做windows程序开发的时候经常会遇到程序崩溃,需要我们对生成的dump文件进行分析来进一步定位程序问题点。但随着Ai时代的来临,未来会有越来越多的工作转到让Ai来帮我们对dump文件进行分析了。下面介绍一下如何让AI agent -- 【CodeMaker】并利用windbg工具来帮我们自动分析dump文件。
常规做法
以前分析dump文件,常规的办法是用windbg,然后用常规指令:!analyze -v 来分析dump来得到异常崩溃的堆栈:
这种常规方法,需要有比较扎实使用windbg的经验,通过多条windbg的指令来分析程序具体的崩溃点。
利用CodeMaker来分析dump文件
下面介绍一下用codemaker并结合windbg来分析dump文件。
安装windbg的MCP
首先如果要用AI Agent并结合WinDbg来分析dump,首先要搭建AI Agent跟WinDbg的沟通桥梁-MCP (Model Context Protocol),这里介绍一个开源的windbg的MCP项目:https://github.com/themixednuts/windbg-mcp-serve
把它git Clone到本地后,需要编译该项目,编译该项目需要:
- Windows 10/11
- Debugging Tools for Windows (Windows SDK)
- Rust 1.85+ (edition 2024)
然后在运行:
# Standard build (stdio transport only)
cargo build --release
# With HTTP transport support
cargo build --release --features http
来生成可执行文件:windbg-mcp-server.exe
这个时候可以把该服务起来:
CodeMaker配置WinDbg的MCP
到vscode上面的CodeMaker插件并配置相应的MCP:
(1.到MCP的配置入口)
(2.配置相应的参数)
(3.启用MCP服务)
用CodeMaker分析dump文件
在对话框输入:用windbg 分析D:\Dumps\BaoMiHua.exe.3468.dmp文件,pdb符号目录在“D:\works\Filmly10\filmly\Filmly\bin\x64\Release\net8.0-windows10.0.22621.0\win-x64\”
然后执行,并经过一两分钟的系列分析: