Python Debugpy 调试器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ef9e183a/software-development-python-debugpy。
技能介绍
要解决的问题
Python 调试常常卡在两种场景:一是脚本跑在没有 IDE 的服务器或容器里,想打断点却没有可视化调试器;二是程序已经崩溃退出,现场丢失,只能靠翻日志猜原因。pdb 虽然自带但交互繁琐,debugpy 提供了标准 DAP 协议接口,却没有人帮你把两者接到 Agent 工作流里。
核心能力
这个技能把调试拆成两条互补的路径:
pdbREPL:直接在运行进程中进入交互式调试,适合单测或脚本场景下的逐步排查。debugpy远程调试(DAP):通过调试适配器协议挂接远程进程,支持断点与事后分析(post-mortem)。
关键步骤大致是:先用 debugpy 以监听模式启动目标进程,再从宿主端发起 DAP 连接;命中断点后即可检查栈帧与变量;若进程已退出,则加载崩溃现场做事后分析,定位最后一刻的状态。
适用边界与注意点
- 平台限定 Linux / macOS,Windows 未在支持列表中。
- 远程调试需要网络可达且端口匹配,容器或远程机器上注意防火墙与端口映射。
- 事后分析依赖保留的崩溃现场,若程序被强制
kill -9且未启用相关机制,现场可能不完整。 - 它解决的是调试执行层的问题,系统性排查思路仍需配合
systematic-debugging等技能。
使用场景
- 在无 IDE 的 Linux 服务器上运行 Python 服务,用断点定位某个请求处理分支的逻辑错误。
- 脚本已在容器中崩溃退出,需要加载保留的崩溃现场做事后分析,查看退出前最后一刻的变量状态。
- 单元测试结果与预期不符,想进入 pdb REPL 逐步执行单行代码,确认中间变量的值。
- 本地编辑器连不上远程开发机里的 Python 进程,需要通过 DAP 协议从宿主端挂接调试。
适合人员
- 维护无 IDE 环境下 Python 服务的后端工程师,需要在服务器上打断点排查请求逻辑。
- 处理容器内 Python 脚本崩溃的运维人员,想通过事后分析定位退出前的现场状态。
- 编写并调试数据处理管道的数据工程师,习惯用 pdb 逐步验证中间结果。
- 在远程开发机上跑测试的 QA 工程师,需要通过 DAP 连接调试 Python 测试用例。