使用说明

项目简介

MCP Server GDB 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 GDB 调试器封装成 MCP 服务,使得大型语言模型 (LLM) 客户端可以通过标准化的 MCP 协议,远程控制和使用 GDB 调试功能。该服务器旨在为 LLM 应用提供程序调试和分析的能力,例如在 LLM 驱动的智能 IDE 或代码助手中使用。

主要功能点

  • GDB 会话管理:支持创建、获取、列出和关闭 GDB 调试会话,允许多会话并发调试。
  • 断点管理:支持设置、获取和删除代码断点,方便程序调试过程中的控制。
  • 程序执行控制:提供启动、停止、继续、单步执行(步入、步过)等程序执行控制功能。
  • 调试信息获取:支持获取程序堆栈帧信息和局部变量信息,帮助分析程序状态。

安装步骤

  1. 安装 Rust 和 Cargo:确保你的开发环境中已安装 Rust 编程语言和 Cargo 包管理器。你可以访问 Rust 官网 按照指引进行安装。
  2. 克隆仓库:将 'mcp_server_gdb' 仓库克隆到本地。
    git clone https://github.com/pansila/mcp_server_gdb.git
    cd mcp_server_gdb
  3. 启动服务器:在仓库根目录下,使用 Cargo 构建并运行服务器。
    cargo run
    服务器默认使用 Stdio 传输模式,SSE 模式默认监听 'http://127.0.0.1:8080'。

服务器配置

MCP 服务器的配置主要涉及启动命令和参数,以便 MCP 客户端能够正确连接。以下是 MCP 客户端连接 'mcp_server_gdb' 服务器的配置示例(JSON 格式):

{
  "serverName": "mcp_server_gdb",
  "command": "cargo run",
  "args": []
}

参数注释:

  • 'serverName': 服务器名称,客户端用于标识和区分不同的 MCP 服务器。这里设置为 'mcp_server_gdb'。
  • 'command': 启动 MCP 服务器的命令。这里使用 'cargo run',表示在项目根目录下使用 Cargo 运行服务器。
  • 'args': 启动命令的参数列表,当前示例中为空,表示不传递额外参数。你可以根据需要添加参数,例如 '--transport sse' 切换到 SSE 传输模式,或 '--log-level debug' 调整日志级别。

其他配置:

服务器还支持通过修改 'src/config.rs' 文件或环境变量进行配置,包括:

  • 'SERVER_PORT': 服务器端口号(仅 SSE 模式)。
  • 'GDB_COMMAND_TIMEOUT': GDB 命令执行超时时间(秒)。

基本使用方法

  1. 启动 MCP 服务器:按照安装步骤启动 'mcp_server_gdb' 服务器。
  2. 配置 MCP 客户端:在 MCP 客户端中,配置服务器连接信息,使用上面提供的 JSON 配置示例。
  3. 连接服务器:启动 MCP 客户端并连接到 'mcp_server_gdb' 服务器。
  4. 调用工具:客户端连接成功后,可以调用服务器提供的工具进行 GDB 调试操作。例如,使用 'create_session' 创建调试会话,'set_breakpoint' 设置断点,'start_debugging' 开始调试等。具体的工具列表和参数请参考仓库 README.md 文档中 "Supported MCP Tools" 部分。

信息

分类

开发者工具