Skip to main content

python-debugpy

Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote or headless attach.

ソース情報

リポジトリ
EKKOLearnAI/ekko-studio
ソースの最終更新活動
2026年8月28日 12:50
検出された SKILL.md の言語
英語
スター
11,547
フォーク
1,431

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
python-debugpy
description
Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote or headless attach.
metadata
{"keywords":["debugpy","python debugger","pdb","remote python debugging"]}
# Python Debugging Use when Python code needs interactive debugging: hidden locals, confusing state mutation, failing tests, subprocesses, long-running services, or remote attach. Choose the smallest debugger that reaches the bad frame: - `breakpoint()`: local code where source edits are acceptable. - `python3 -m pdb`: launch from the beginning without editing source. - `python3 -m pdb -c continue`: stop at an unhandled exception. - `debugpy`: remote/headless processes, DAP clients, an existing PID, or startup races. ## Commands ```bash 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> ``` Source-edit attach: ```python import debugpy debugpy.listen(("127.0.0.1", 5678)) debugpy.wait_for_client() debugpy.breakpoint() ``` Post-mortem inspection: ```python import pdb import sys try: run() except Exception: pdb.post_mortem(sys.exc_info()[2]) raise ``` ## pdb commands - Flow: `n`, `s`, `r`, `c`, `q`. - Stack and source: `w`, `u`, `d`, `a`, `l`, `ll`. - Values: `p expr`, `pp expr`, `display expr`. - Breakpoints: `b file.py:42`, `b func`, `b file.py:42, condition`, `cl <num>`. - Evaluate or mutate: `!statement`; full REPL: `interact`. ## Rules - Reproduce with the smallest command or test first. - Disable parallel test workers for pdb; worker pools usually break interactive stdin. - Keep `debugpy` in the active environment. Do not add it as a project dependency unless the project needs it. - Bind debug servers to `127.0.0.1`; expose them only on an isolated network or through a secure tunnel. - Treat PID attach as process injection. Avoid security-sensitive or production targets unless explicitly approved. - On Linux, check ptrace and container privileges before changing a target when PID attach fails. - Before committing, run `rg -n 'breakpoint\\(|pdb\\.set_trace|debugpy\\.' --type py` and remove accidental breakpoints. - Rerun the normal project test gate without the debugger.
GitHubで見る