PDB调试网关
一个全面的REST API和MCP服务器,用于使用pdb进行远程Python调试。
🚀 特性
- 远程调试:通过REST API调用调试Python应用程序
- AI辅助调试:Claude Code的MCP服务器集成
- 会话管理:多个并发调试会话
- 综合录井:调试操作的完整审计跟踪
- 多种断点类型:常规断点、条件断点和临时断点
- 计量检验:变量和表达式的实时检查
- 逐步执行:对代码执行流的程序化控制
🎯 这能带来什么
AI辅助调试
- Claude Code可以在可疑代码位置自动设置断点
- AI可以通过执行来理解程序流程
- 智能变量检查,以识别数据损坏或逻辑错误
- 带有根本原因分析的自动调试报告
大规模远程调试
- 在没有直接服务器访问的情况下调试生产系统
- 与多个开发人员协同调试
- 集成到CI/CD中的自动化调试管道
- 容器化应用程序的云原生调试
📁 存储库结构
pdb-debug/
├── pdb-rest-gateway/ # Main PDB Gateway implementation
│ ├── src/pdb_gateway/ # Core library code
│ │ ├── api/ # REST API endpoints
│ │ ├── core/ # Debugging engine and session management
│ │ ├── mcp/ # MCP server implementation
│ │ └── schemas/ # Request/response schemas
│ ├── simple_server.py # Standalone REST API server
│ ├── mcp_server.py # MCP server for Claude Code
│ ├── requirements.txt # Python dependencies
│ └── *.py # Test and demo scripts
├── breakpoint-simulation/ # Test applications and demos
│ ├── data_processor.py # Sample data processing pipeline (295 lines)
│ ├── test_*.py # Comprehensive test suites
│ └── *.md # Testing documentation
├── CLAUDE.md # Complete integration guide
└── README.md # This file🚀 快速开始
1.启动PDB网关服务器
# REST API server (port 8002)
cd pdb-rest-gateway
python3 simple_server.py
# OR MCP server for Claude Code integration
python3 mcp_server.py2.使用样品应用程序进行测试
# Run comprehensive debugging tests
python3 breakpoint-simulation/test_with_logging.py
# Test real debugging scenarios
python3 breakpoint-simulation/test_debugging.py
# Analyze debugging logs
python3 pdb-rest-gateway/view_logs.py3.调试自己的应用程序
# Create debug session via REST API
curl -X POST http://localhost:8002/debug/sessions \
-H "Content-Type: application/json" \
-d '{"target_file": "your_script.py"}'
# Set breakpoint
curl -X POST http://localhost:8002/debug/sessions/{session_id}/breakpoint \
-H "Content-Type: application/json" \
-d '{"filename": "your_script.py", "line_number": 25}'
# Step through execution
curl -X POST http://localhost:8002/debug/sessions/{session_id}/step \
-H "Content-Type: application/json" \
-d '{"step_type": "continue"}'🔧 REST API端点
| 方法 | 端点 | 描述 |
|---|---|---|
| 职位 | /debug/sessions | 创建新的调试会话 |
| 得到 | /debug/sessions | 列出活动会话 |
| 得到 | /debug/sessions/{id} | 获取会话信息 |
| 删除 | /debug/sessions/{id} | 终止会话 |
| 职位 | /debug/sessions/{id}/breakpoint | 设置/删除断点 |
| 职位 | /debug/sessions/{id}/step | 逐步执行 |
| 职位 | /debug/sessions/{id}/inspect | 检查变量 |
| 职位 | /debug/sessions/{id}/execute | 执行PDB命令 |
| 得到 | /debug/sessions/{id}/output | 获取调试输出 |
🤖 面向人工智能助理的MCP工具
当配置为MCP服务器时,为Claude Code提供以下工具:
pdb_start_session-初始化调试会话pdb_set_breakpoint-设置/删除断点pdb_step-逐步执行代码pdb_inspect-检查变量和表达式pdb_execute-执行任意PDB命令pdb_list_sessions-列出活动会话pdb_terminate_session-结束调试会话
📊 测试结果
我们的全面测试表明:
- 47次操作 执行时间为0.817秒(57.5次操作/秒)
- 10个断点 set(常规、有条件、临时)
- 8步操作 (接下来,继续,逐步计数)
- 14次可变检查 (简单的变量,复杂的表达式)
- 13次命令执行 (list、where、args、local等)
- 完成日志记录 具有29.8 KB的审计跟踪
🎯 用例
开发与调试
- 复杂应用程序的交互式调试
- 生产问题的根本原因分析
- 代码行为理解和文档
- 性能瓶颈识别
人工智能辅助开发
- 自动错误检测和分析
- 智能代码审查和建议
- 教育代码演练
- 调试知识捕获和共享
企业应用程序
- 审核是否符合完整的操作日志记录
- 调试活动的安全监控
- 跨团队协作调试
- 与CI/CD管道集成
📋 需求
- Python 3.7+
- 标准库模块(pdb、线程、json等)
- 可选:REST服务器的FastAPI
- 可选:用于Claude Code集成的MCP库
🔍 日志记录与监视
所有调试操作均以以下方式记录:
- 所有操作的时间戳跟踪
- 每个操作的成功/失败状态
- 完整的参数值和结果
- 会话持续时间和性能指标
- 错误跟踪和调试信息
通过以下方式查看日志:
python3 pdb-rest-gateway/view_logs.py
tail -f pdb-rest-gateway/pdb_gateway.log🚀 未来的可能性
- 预测性调试 -AI预测漏洞会发生在哪里
- 自我修复代码 -自我调试和修复的系统
- 智能监控 -实时系统的持续调试
- 代码优化 -AI根据执行分析提出改进建议
📖 文档
看 CLAUDE.md 完整的集成指南包括:
- ETL系统集成示例
- 自然语言调试命令
- 全面的API文件
- 故障排除和最佳实践
______________________________________________________________________
🎯 该工具彻底改变了Python调试,使其可编程、远程、智能和可扩展!
