Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-python-debugpy-2f0967682a4f ,按照其中的说明把「python-debugpy」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Use when Python code needs interactive debugging: hidden locals, confusing state mutation, failing tests, subprocesses, long-running services, or remote/headless attach.
Pick the smallest debugger that reaches the bad frame.
breakpoint(): local code, source edits ok, fastest path.python3 -m pdb: no source edit, launch from the beginning.python3 -m pdb -c continue: stop at an unhandled exception.debugpy: remote/headless process, DAP client, already-running PID, or service startup race.python3 -m pdb path/to/script.py arg1
python3 -m pdb -c continue path/to/script.py
python3 -c "import debugpy" || python3 -m pip install debugpy
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client path/to/script.py
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client -m package.module
python3 -m debugpy --listen 127.0.0.1:5678 --pid <pid>
For source-edit attach:
import debugpy
debugpy.listen(("127.0.0.1", 5678))
debugpy.wait_for_client()
debugpy.breakpoint()
For post-mortem:
import pdb, sys
try:
run()
except Exception:
pdb.post_mortem(sys.exc_info()[2])
raise
n, s, r, c, q.w, u, d, a, l, ll.p expr, pp expr, display expr.b file.py:42, b func, b file.py:42, condition, cl <num>.!statement; full REPL: interact.debugpy in the active env; do not add it as a project dependency unless the project already wants it.127.0.0.1; do not expose 0.0.0.0 unless isolated or tunnelled.debugpy --pid injects into a running process; confirm the target pid before attaching.rg -n 'breakpoint\\(|pdb\\.set_trace|debugpy\\.' --type py.PYTHONBREAKPOINT=0 disables breakpoint().