基本能力
产品定位
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 交互。