适用于Go程序的调试器接口,与MCP(模型上下文协议)集成。
debug_test调试单个测试函数安装MCP Go调试器最简单的方法是使用Go:
go install github.com/sunfmin/mcp-go-debugger/cmd/mcp-go-debugger@latest
这将下载、编译并安装二进制文件到您的$GOPATH/bin目录。
或者,您可以从源码构建:
git clone https://github.com/sunfmin/mcp-go-debugger.git
cd mcp-go-debugger
make install
在您的Cursor配置中添加以下内容(~/.cursor/mcp.json):
{
"mcpServers": {
"go-debugger": {
"command": "mcp-go-debugger",
"args": []
}
}
}
将MCP添加到Claude Desktop:
claude mcp add go-debugger mcp-go-debugger
验证连接:
/mcp
此调试器旨在与兼容MCP的客户端集成。提供的工具包括:
ping - 测试与调试器的连接status - 检查调试器状态和服务器运行时间launch - 启动带有调试功能的Go程序attach - 连接到正在运行的Go进程debug - 直接调试Go源文件debug_test - 调试特定的Go测试函数set_breakpoint - 在特定文件和行设置断点list_breakpoints - 列出所有当前断点remove_breakpoint - 移除断点continue - 继续执行直到下一个断点或程序结束step - 进入下一个函数调用step_over - 跳过下一个函数调用step_out - 退出当前函数eval_variable - 以可配置深度评估变量值list_scope_variables - 列出当前作用域内的所有变量(局部、参数、包)get_execution_position - 获取当前执行位置(文件、行、函数)get_debugger_output - 捕获并检索被调试程序的stdout和stderrclose - 关闭当前调试会话请求AI助手调试您的Go程序:
> 请调试我的Go应用程序main.go
AI助手将使用MCP:
如果您的Go应用程序已经在运行,可以附加调试器:
> 附加到我正在运行的PID为12345的Go应用程序
> 我在我的processOrders函数处理大订单时遇到了panic。你能帮我调试吗?
AI将帮助您:
如果您想调试特定的测试函数而不是整个应用程序:
> 请调试我在calculator_test.go文件中的TestCalculateTotal函数
AI助手将使用debug_test工具:
您还可以指定测试标志:
> 调试auth_test.go中的TestUserAuthentication测试,超时时间为30秒
这对于以下情况特别有用:
当处理嵌套结构或复杂类型时:
> 能否在第45行评估user.Profile.Preferences对象?我需要详细查看所有嵌套字段。
AI将:
eval_variable工具要调试需要命令行参数的程序:
> 调试我的data_processor.go,参数为"--input=data.json --verbose --max-records=1000"
调试器将:
对于调试并发的Go程序:
> 我认为我在worker池实现中有一个竞态条件。你能帮我调试它吗?
AI可以:
为了理解复杂的控制流程:
> 当processPayment函数被调用且信用卡无效时,带我看看会发生什么。
AI助手将: