pdb는 강력하지만 인터페이스가 단조롭습니다.
더 친절한 출력·UI를 가진 변종들이 있어서 같은 기능을 더 편하게 쓸 수 있습니다.
ipdb.
pip install ipdb.
import ipdb; ipdb.set_trace() — pdb와 같은 인터페이스 + IPython 기능.
탭 자동완성, 신택스 컬러, 더 풍부한 출력.
pdb 명령어 그대로 사용 가능.
pudb.
pip install pudb.
import pudb; pudb.set_trace() — 「풀 화면 TUI(텍스트 UI) 디버거」.
코드·변수·콜스택이 패널로 분할 표시, 마치 IDE 디버거 같은 화면.
키보드만으로 조작.
환경변수로 기본 디버거 변경.
PYTHONBREAKPOINT=ipdb.set_trace로 export.
그 후 코드의 breakpoint()가 자동으로 ipdb 호출 — 코드 수정 없이 디버거 종류 전환.
원격·도커.
SSH·Docker 컨테이너 안에서 디버그할 때 pdb 변종이 큰 차이를 만듭니다.
좁은 터미널, 컬러 한정된 환경에서도 pudb의 풀스크린 모드가 잘 동작 — 원격 서버 운영 디버깅에 유용.
한 줄 요약
ipdb는 pdb + IPython(탭 완성·컬러), pudb는 풀스크린 TUI 디버거.
PYTHONBREAKPOINT 환경변수로 기본 디버거 전환.
원격·도커 디버깅에 큰 차이.
더 알아볼 것
- wdb — 웹 브라우저 디버거
- remote-pdb — 원격 디버깅
- python-debug-tools 비교