pdb
Python Debugger ( pdb )⚑
코드 실행 및 흐름 제어⚑
명령어 | 설명 |
---|---|
b | Breakpoint 설정: 특정 라인, 파일, 함수에 중단점을 설정. 예: b 12 , b file.py:34 , b func_name |
tbreak | Temporary Breakpoint 설정: 한 번 멈춘 뒤 삭제되는 임시 브레이크포인트. |
cl | Breakpoint 삭제: 특정 브레이크포인트 삭제. 예: cl 1 |
c | Continue 실행: 다음 중단점까지 실행. |
s | Step 실행: 현재 라인을 실행하고 함수 내부로 진입. |
n | Next 실행: 현재 라인을 실행하고 다음 라인으로 이동. |
r | Return 실행: 현재 함수의 끝까지 실행하고 반환 후 멈춤. |
j | Jump 실행: 특정 라인으로 실행 위치를 강제로 변경. 예: j 45 |
q | Quit 종료: 디버깅 종료 및 프로그램 종료. |
상태 확인⚑
명령어 | 설명 |
---|---|
l | List 코드: 현재 실행 위치를 포함한 코드 주변 출력. 예: l , l 10,20 |
w | Where: 현재 실행 위치와 콜 스택(스택 트레이스) 출력. |
p | Print: 변수나 표현식 값을 출력. 예: p var_name , p x + y |
pp | Pretty Print: 값을 보기 좋게 출력. |
args | Arguments 출력: 현재 함수의 인자값을 출력. |
dir() | 객체 메서드 및 속성 나열: 현재 스코프의 객체 메서드와 속성 리스트. |
변수 관리⚑
명령어 | 설명 |
---|---|
display | 변수 값 지속 출력: 특정 변수나 표현식의 값을 자동으로 출력. 예: display x |
undisplay | Display 해제: 설정된 자동 출력 해제. 예: undisplay 1 |
locals | 로컬 변수 출력: 현재 스코프의 로컬 변수를 출력. |
globals | 글로벌 변수 출력: 글로벌 변수를 출력. |
Breakpoints 관리⚑
명령어 | 설명 |
---|---|
b | Breakpoint 설정: 특정 라인, 함수에 설정. |
tbreak | Temporary Breakpoint 설정: 한 번 실행 후 삭제. |
cl | Breakpoint 삭제: 특정 브레이크포인트 삭제. 예: cl 1 |
disable | Breakpoint 비활성화: 특정 중단점 비활성화. 예: disable 1 |
enable | Breakpoint 활성화: 비활성화된 중단점 활성화. 예: enable 1 |
condition | 조건부 Breakpoint 설정: 조건이 만족될 때만 멈춤. 예: condition 1 x > 5 |
콜 스택 관리⚑
명령어 | 설명 |
---|---|
w | Where: 현재 위치와 콜 스택 출력. |
up | 스택 프레임 위로 이동: 상위 함수 호출로 이동. |
down | 스택 프레임 아래로 이동: 하위 함수 호출로 이동. |
코드 실행⚑
명령어 | 설명 |
---|---|
! | Python 표현식 실행: Python 코드를 즉시 실행. 예: !x = 5 , !print(x) |
run | 프로그램 재실행: 디버깅 중 재시작. |
명령어 히스토리 및 관리⚑
명령어 | 설명 |
---|---|
h | Help: 특정 명령어에 대한 도움말 제공. 예: h b |
commands | Breakpoint에서 실행할 명령어 설정: 특정 중단점에서 실행할 명령 설정. 예: commands 1 |
alias | Alias 정의: 명령어 별칭 설정. |
unalias | Alias 해제: 설정된 명령어 별칭 해제. |
디버깅 로그 및 설정⚑
명령어 | 설명 |
---|---|
debug | 디버깅 실행: 특정 명령어를 디버깅 모드에서 실행. |
run | 프로그램 재실행: 디버깅을 중단하고 프로그램을 다시 시작. |
기타 유용한 팁⚑
- 조건부 중단점 사용: 특정 조건에서만 멈추도록 설정.
b 42, x > 10 # 라인 42에서 x > 10일 때 멈춤
- 디스플레이 사용: 특정 변수의 값을 계속 모니터링.
display my_var
- 스택 추적: 디버깅 중 함수 호출 계층을 탐색.
up # 상위 스택으로 이동
down # 하위 스택으로 이동
주요 커맨드 활용 워크플로우⚑
- 중단점 설정:
b 10 # 라인 10에서 멈춤
b myfile.py:15 # myfile.py의 라인 15에서 멈춤
- 프로그램 실행 및 탐색:
c # 프로그램 실행
n # 다음 라인으로 이동
s # 현재 함수로 들어가기
- 상태 및 변수 확인:
p my_var # 변수 값 출력
l # 코드 확인
w # 현재 위치 확인
- 프로그램 종료:
q # 디버깅 종료
위 목록은 pdb
디버깅을 효과적으로 사용할 수 있는 모든 명령어입니다. 필요에 따라 활용해보세요! 😊