pdb는 파이썬 표준 라이브러리에 포함된 명령줄 디버거입니다.
IDE 없이 어디서든(서버·도커 컨테이너·SSH 세션) 동작.
명령어를 외워야 하지만 한 번 익히면 매우 강력.
진입.
breakpoint() (3.7+) 또는 import pdb; pdb.set_trace() — 그 줄에서 정지.
또는 python -m pdb script.py — 시작부터 디버그 모드.
기본 명령.
n(next) — 다음 줄.
s(step) — 함수 안으로.
c(continue) — 계속 실행.
l(list) — 주변 코드 표시.
p var — 변수 출력.
pp var — pretty print.
q — 종료.
콜스택 탐색.
w(where) — 콜스택 표시.
u(up) / d(down) — 스택 위·아래로 이동.
호출 경로의 어느 프레임에서 무엇이 잘못됐는지 추적.
고급.
b 42(파일 42번 줄에 breakpoint), b func_name(함수에).
condition 1 x > 10(조건부 breakpoint).
interact(현재 컨텍스트로 IPython 진입).
post-mortem 디버깅 — pdb.pm()으로 마지막 예외 시점으로.
한 줄 요약
pdb는 표준 명령줄 디버거.
breakpoint()로 진입, n/s/c/l/p가 기본 명령, w/u/d로 콜스택 탐색.
IDE 없는 환경(서버·SSH)에 필수.
더 알아볼 것
- pdb cheat sheet
- 조건부 breakpoint — condition
- post-mortem — pdb.pm()