본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

python-debugpy

Python 실행을 멈춰 변수와 코드 흐름을 살펴보며 버그 원인을 추적합니다. 예외 발생 당시의 상태와 실행 중인 프로세스도 확인할 수 있습니다.

원문원문 설명 보기

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

AI 평가100점/ 100설치 방법 보기

이럴 때 유용합니다

  • 실패한 Python 테스트의 변수를 확인합니다
  • 예상하지 못한 상태 변화를 추적합니다
  • 예외 발생 당시의 상태를 조사합니다
  • 실행 중인 서비스를 디버깅합니다

한국어 소개

할 수 있는 일

Python 실행을 멈춰 변수 값과 코드 흐름을 확인하며 버그 원인을 찾습니다. 코드에 넣는 breakpoint(), 프로그램을 시작할 때 쓰는 pdb, 외부에서 실행 중인 프로그램에 연결하는 debugpy를 상황에 맞게 선택합니다. 예외 발생 당시의 상태를 확인하거나 특정 조건을 만족할 때만 실행을 멈추도록 설정할 수도 있습니다.

이럴 때 유용합니다

테스트가 실패하는 이유를 모르거나 변수가 예상과 다르게 바뀌는 지점을 추적할 때 사용합니다. 오랫동안 실행되는 서비스나 그래픽 화면이 없는 환경의 프로세스를 조사할 때도 활용합니다.

사용 예시

  • “이 실패한 테스트를 최소 조건으로 재현하고 pdb로 변수를 확인해 주세요.”
  • “실행 중인 서비스에 debugpy로 연결해 실행이 멈춘 위치를 조사해 주세요.”

주의 사항

python3가 필요하며 debugpy는 현재 사용하는 환경에 설치합니다. 연결 주소는 원칙적으로 127.0.0.1로 제한하고, 실행 중인 프로세스에 연결하기 전에 대상 PID를 확인합니다. pdb를 사용할 때는 테스트 병렬 실행을 끕니다. 조사 후에는 디버깅 코드를 제거하고 일반 테스트를 다시 실행합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호테스트 실패와 실행 중인 서비스 등의 사용 상황과 디버거 선택 방법이 명시되어 있습니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호시작 및 PID 연결 명령, pdb 조작, 조사 후 테스트 재실행 절차가 제시되어 있습니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호로컬 주소 바인딩, 대상 PID 확인, 디버깅 코드 제거를 지시합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
A양호python3 요건과 현재 환경에 debugpy를 설치하는 명령이 제시되어 있습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Python Debugpy

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.

Choose

  • 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.

Commands

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

pdb

  • Flow: n, s, r, c, q.
  • Stack/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>.
  • Mutate/evaluate: !statement; full REPL: interact.

Rules

  • Reproduce with the smallest command/test first.
  • Disable parallel test workers for pdb; interactive stdin usually breaks inside worker pools.
  • Keep debugpy in the active env; do not add it as a project dependency unless the project already wants it.
  • Bind debug servers to 127.0.0.1; do not expose 0.0.0.0 unless isolated or tunnelled.
  • Use unique ports for parallel sessions.
  • debugpy --pid injects into a running process; confirm the target pid before attaching.
  • If PID attach fails on Linux, check ptrace/container privileges before changing the target.
  • Cleanup before commit: rg -n 'breakpoint\\(|pdb\\.set_trace|debugpy\\.' --type py.
  • Rerun the normal project test/gate without the debugger.
  • PYTHONBREAKPOINT=0 disables breakpoint().
  • If a process is stuck after debugger detach, confirm it is not still paused at a breakpoint.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

1password

무료요약 있음AI 평가 100점

1Password 명령줄 도구의 설치와 인증을 확인하고 저장된 비밀번호와 API 키를 명령이나 설정에 전달합니다. 데스크톱 앱 연동과 서비스 계정도 지원합니다.

  • 1Password 명령줄 도구 설치
  • API 키를 명령에 전달
  • CI에서 서비스 계정 인증 사용
openclaw/openclaw39.2만2026년 10월 18일 업데이트

acp-router

무료요약 있음AI 평가 80점

OpenClaw에 전달한 자연어 요청을 Claude Code 같은 외부 코딩 에이전트로 연결합니다. ACP나 acpx로 작업을 시작하거나 이어가며 대화 맥락을 유지합니다.

  • 스레드에서 Claude Code 시작
  • 외부 에이전트의 기존 작업 계속
  • acpx로 직접 지시 전달
openclaw/openclaw39.2만2026년 10월 18일 업데이트

add-model-provider

무료요약 있음AI 평가 100점

OpenClaw에 모델 제공업체를 추가하고 실제 응답을 확인합니다. 인증 정보는 환경 변수나 파일 참조로 다루며 설정 검증과 결과 보고도 진행합니다.

  • OpenClaw에 모델 제공업체 추가하기
  • 인증 정보를 참조 방식으로 설정하기
  • 모델의 실제 응답 확인하기
openclaw/openclaw39.2만2026년 10월 18일 업데이트

agent-transcript

무료요약 있음AI 평가 90점

AI 에이전트의 작업 로그를 GitHub PR이나 이슈에 첨부할 기록으로 정리합니다. 관련 내용을 추리고 민감한 정보를 제거해 미리 보며, 별도 승인을 받아 게시합니다.

  • PR에 첨부할 에이전트 작업 기록 작성
  • 로컬 로그에서 관련 요청과 결과 추출
  • 민감한 정보를 제거한 기록 미리 보기
openclaw/openclaw39.2만2026년 10월 18일 업데이트

apple-notes

무료요약 있음AI 평가 100점

에이전트에서 macOS의 Apple Notes 메모를 생성, 검색, 편집, 삭제합니다. 폴더 간 이동과 HTML 또는 Markdown 내보내기도 지원합니다.

  • 제목을 지정해 메모를 만듭니다
  • 폴더 지정이나 유사 검색으로 메모를 찾습니다
  • 메모를 편집하고 폴더별로 정리합니다
openclaw/openclaw39.2만2026년 10월 18일 업데이트

apple-reminders

무료요약 있음AI 평가 70점

Mac에서 Apple Reminders의 기한이 있는 할 일을 확인하고 추가·편집합니다. 목록 관리와 완료·삭제를 통해 iPhone이나 iPad에서 보는 작업을 정리합니다.

  • 오늘 할 일과 기한이 지난 작업 확인
  • 기한이 있는 개인 할 일 추가
  • iPhone과 iPad에서 보는 작업 정리
openclaw/openclaw39.2만2026년 10월 18일 업데이트

openclaw의 스킬 모두 보기

이 스킬의 문제 신고