返回市场
MCP-GDB服务器

MCP-GDB服务器

作者:signal-slot67 星标更新:2025-03-21

项目介绍

MCP GDB 服务器

这是一个提供 GDB 调试功能的 Model Context Protocol (MCP) 服务器,适用于 Claude 或其他 AI 助手。

特性

  • 启动和管理 GDB 调试会话
  • 加载程序和核心转储进行分析
  • 设置断点、逐步执行代码并检查内存
  • 查看调用堆栈、变量和寄存器
  • 执行任意 GDB 命令

安装

# 克隆仓库
git clone https://github.com/signal-slot/mcp-gdb.git
cd mcp-gdb

# 安装依赖
npm install

# 构建项目
npm run build

使用

与 Claude 或其他支持 MCP 的助手一起使用

  1. 在 Claude 桌面应用或浏览器扩展中配置 MCP 设置,包括此服务器:
{
  "mcpServers": {
    "gdb": {
      "command": "node",
      "args": ["/path/to/mcp-gdb/build/index.js"],
      "disabled": false
    }
  }
}
  1. 重启 Claude 或刷新页面。

  2. 现在你可以使用 GDB 工具与 Claude 进行对话。

示例命令

这里是一些通过 Claude 使用 GDB MCP 服务器的示例:

启动一个 GDB 会话

使用 gdb_start 启动一个新的调试会话

加载一个程序

使用 gdb_load 加载 /path/to/my/program 并使用从 gdb_start 返回的 sessionId

设置一个断点

使用 gdb_set_breakpoint 在当前 GDB 会话中的 main 函数处设置一个断点

运行程序

使用 gdb_continue 开始执行

检查变量

使用 gdb_print 在当前上下文中评估表达式 "my_variable"

获取回溯信息

使用 gdb_backtrace 查看当前调用堆栈

结束会话

使用 gdb_terminate 结束调试会话

支持的 GDB 命令

  • gdb_start: 启动一个新的 GDB 会话
  • gdb_load: 将程序加载到 GDB 中
  • gdb_command: 执行任意 GDB 命令
  • gdb_terminate: 终止一个 GDB 会话
  • g_终止: 终止一个 GDB 会话
  • gdb_list_sessions: 列出所有活动的 GDB 会话
  • gdb_attach: 附加到正在运行的进程
  • gdb_load_core: 加载核心转储文件
  • gdb_set_breakpoint: 设置一个断点
  • gdb_continue: 继续程序执行
  • gdb_step: 单步执行程序
  • gdb_next: 跳过函数调用
  • gdb_finish: 执行直到当前函数返回
  • gdb_backtrace: 显示调用堆栈
  • gdb_print: 打印表达式的值
  • gdb_examine: 检查内存
  • gdb_info_registers: 显示寄存器

许可证

MIT </中文翻译>