python-debugpy

Depure Python com pdb, breakpoint(), inspeção post-mortem e attach remoto via debugpy.

O que é python-debugpy?

Esta skill capacita o agente a depurar código Python interativamente, abrangendo desde cenários locais simples até processos remotos ou headless. Ela orienta a seleção da ferramenta mais adequada para cada situação: `breakpoint()` para edições rápidas no código-fonte, `python3 -m pdb` para depuração sem modificar o script, e `debugpy` para attach remoto via protocolo DAP (Debug Adapter Protocol). A documentação inclui comandos prontos para uso, como iniciar o depurador com espera por cliente, anexar a um PID em execução ou realizar inspeção post-mortem. Também fornece uma referência concisa dos comandos essenciais do pdb (navegação, pilha, breakpoints, avaliação de expressões) e regras práticas, como desabilitar workers paralelos em testes, manter `debugpy` apenas no ambiente ativo, usar portas únicas e limpar breakpoints antes do commit. A habilidade é compatível com qualquer ambiente Python, seja local, remoto ou contêinerizado, e pode ser integrada a IDEs como VS Code ou Cursor através de attach remoto.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/python-debugpy

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Python Debugpy

Use quando código Python precisar de depuração interativa: variáveis ocultas, mutação de estado confusa, testes com falha, subprocessos, serviços de longa duração ou attach remoto/headless.

Escolha o depurador mais leve que alcance o frame defeituoso.

Escolha

  • breakpoint(): código local, edições no fonte são permitidas, caminho mais rápido.
  • python3 -m pdb: sem editar o fonte, execute desde o início.
  • python3 -m pdb -c continue: pare em uma exceção não tratada.
  • debugpy: processo remoto/headless, cliente DAP, PID já em execução ou race de inicialização de serviço.

Comandos

python3 -m pdb caminho/para/script.py arg1
python3 -m pdb -c continue caminho/para/script.py
python3 -c "import debugpy" || python3 -m pip install debugpy
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client caminho/para/script.py
python3 -m debugpy --listen 127.0.0.1:5678 --wait-for-client -m pacote.modulo
python3 -m debugpy --listen 127.0.0.1:5678 --pid <pid>

Para attach com edição no fonte:

import debugpy

debugpy.listen(("127.0.0.1", 5678))
debugpy.wait_for_client()
debugpy.breakpoint()

Para inspeção post-mortem:

import pdb, sys

try:
    run()
except Exception:
    pdb.post_mortem(sys.exc_info()[2])
    raise

pdb

  • Fluxo: n, s, r, c, q.
  • Pilha/fonte: w, u, d, a, l, ll.
  • Valores: p expr, pp expr, display expr.
  • Breakpoints: b arquivo.py:42, b func, b arquivo.py:42, condição, cl <num>.
  • Mutar/avaliar: !declaração; REPL completo: interact.

Regras

  • Reproduza com o menor comando/teste primeiro.
  • Desabilite workers de teste paralelos para pdb; stdin interativo geralmente quebra dentro de pools de workers.
  • Mantenha debugpy no ambiente ativo; não o adicione como dependência do projeto a menos que o projeto já o queira.
  • Vincule servidores de depuração a 127.0.0.1; não exponha 0.0.0.0 a menos que isolado ou via túnel.
  • Use portas únicas para sessões paralelas.
  • debugpy --pid injeta em um processo em execução; confirme o pid alvo antes de anexar.
  • Se o attach por PID falhar no Linux, verifique privilégios ptrace/container antes de alterar o alvo.
  • Limpe antes do commit: rg -n 'breakpoint\(|pdb\.set_trace|debugpy\.' --type py.
  • Reexecute o teste/gate normal do projeto sem o depurador.
  • PYTHONBREAKPOINT=0 desabilita breakpoint().
  • Se um processo ficar travado após a desconexão do depurador, confirme que ele não está pausado em um breakpoint.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas