
GDB MCP 服务器

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 上的常见问题
- 窗口激活问题:如果 GDB 窗口无法正确激活,尝试手动将其置于前台
- 输入法状态:确保 GDB 终端未处于中文或其他输入法状态
- 命令阻塞:对于阻塞的命令(如 target remote),服务器会自动发送中断信号
Linux 上的常见问题
- TTY 权限:确保当前用户有权限访问 GDB 进程的 TTY 设备
- pexpect 依赖:确保已安装 pexpect 库
使用教程
使用依赖
- 确保已安装 Python 3.11
- 确保已安装 iTerm2(macOS 推荐)
安装教程
-
克隆仓库:
bash git clone https://github.com/yywz1999/gdb-mcp-server.git cd gdb-mcp-server
-
安装依赖:
bash python3 -m pip install -r requirements.txt
调试方式
-
启动服务器:
bash python3 mcp_server.py
-
使用 MCP 协议通过服务器与 GDB 交互。