Skip to main content

python-debugpy

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

معلومات المصدر

المستودع
EKKOLearnAI/ekko-studio
آخر نشاط في المصدر
٢٨ أغسطس ٢٠٢٦ في ١٢:٥٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١١٬٤٣١
التفرعات
١٬٤١٠

خيارات التثبيت

يُحدَّد 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