GDB MCP 服务器

GDB MCP 服务器

site icon
2025.04.08 18
Python调试工具AI 辅助调试开发效率
GDB MCP 服务器是一个支持人工智能辅助调试的 GDB MCP (Model Context Protocol) 服务器。该服务器允许 AI 代理和其他工具通过 MCP 协议与 GDB 进行交互,简化多架构和远程调试场景。
View on GitHub

Overview

基本能力

产品定位

GDB MCP 服务器是一个支持人工智能辅助调试的 GDB MCP (Model Context Protocol) 服务器,旨在简化多架构和远程调试场景。

核心功能

  • 发现并附加到现有的 GDB 进程
  • 通过终端窗口与 GDB 通信(macOS 上优化支持 iTerm2)
  • 支持 MCP 协议,便于与 AI 助手集成
  • 智能处理 GDB 命令阻塞,自动发送中断信号
  • 支持多架构、多主机和远程调试场景
  • 通过简单的函数调用执行常见的 GDB 调试操作:
  • 设置和删除断点
  • 单步执行代码
  • 检查内存
  • 查看寄存器和堆栈跟踪
  • 反汇编代码
  • 获取局部变量

适用场景

  • 多架构调试
  • 远程调试
  • AI 辅助调试

工具列表

系统工具

  • sys_find_gdb_processes - 查找所有运行的 GDB 进程
  • sys_attach_to_gdb - 附加到 GDB 进程
  • sys_start_gdb_with_remote - 启动 GDB 并连接到远程目标

GDB 调试工具

  • gdb_execute_command - 执行任意 GDB 命令
  • gdb_set_breakpoint - 设置断点
  • gdb_delete_breakpoint - 删除断点
  • gdb_step - 单步执行
  • gdb_next - 执行到下一行
  • gdb_finish - 执行到函数返回
  • gdb_continue - 继续执行
  • gdb_get_registers - 获取寄存器值
  • gdb_examine_memory - 检查内存
  • gdb_get_stack - 获取堆栈跟踪
  • gdb_get_locals - 获取局部变量
  • gdb_disassemble - 反汇编代码
  • gdb_connect_remote - 连接到远程调试目标

常见问题解答

macOS 上的常见问题

  1. 窗口激活问题:如果 GDB 窗口无法正确激活,尝试手动将其置于前台
  2. 输入法状态:确保 GDB 终端未处于中文或其他输入法状态
  3. 命令阻塞:对于阻塞的命令(如 target remote),服务器会自动发送中断信号

Linux 上的常见问题

  1. TTY 权限:确保当前用户有权限访问 GDB 进程的 TTY 设备
  2. pexpect 依赖:确保已安装 pexpect 库

使用教程

使用依赖

  1. 确保已安装 Python 3.11
  2. 确保已安装 iTerm2(macOS 推荐)

安装教程

  1. 克隆仓库: bash git clone https://github.com/yywz1999/gdb-mcp-server.git cd gdb-mcp-server

  2. 安装依赖: bash python3 -m pip install -r requirements.txt

调试方式

  1. 启动服务器: bash python3 mcp_server.py

  2. 使用 MCP 协议通过服务器与 GDB 交互。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。