返回 MCP 目录
public公开dns本地运行

GDB Debugger

一个为AI助手提供GDB调试功能的MCP服务器

article

README

🚀 MCP GDB 服务器

MCP GDB 服务器是一个提供 GDB 调试功能的模型上下文协议(MCP)服务器,可与 Claude 或其他 AI 助手协同使用,助力开发者高效完成调试工作。

🚀 快速开始

MCP GDB 服务器为开发者提供了与 AI 助手结合进行 GDB 调试的能力,以下为您介绍使用前的准备和使用方法。

✨ 主要特性

  • 启动和管理 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. 现在您可以通过与 Claude 的对话使用 GDB 工具。

示例命令

以下是通过 Claude 使用 MCP - GDB 服务器的示例:

基础用法

启动 GDB 会话

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

加载程序

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

设置断点

使用 gdb_set_breakpoint 在当前 GDB 会话中设置主程序的断点

运行程序

使用 gdb_continue 开始执行

查看变量

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

获取调用堆栈

使用 gdb_backtrace 查看当前的调用堆栈

结束会话

使用 gdb_terminate 结束调试会话

高级用法

本服务器支持多种 GDB 命令,可满足不同的调试场景。以下为您列举支持的 GDB 命令及其功能:

  • gdb_start:启动一个新的 GDB 会话。
  • gdb_load:加载一个程序到 GDB 中。
  • gdb_command:执行任意 GDB 命令。
  • gdb_terminate:终止一个 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 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端