Intro
- import pdb; pdb.set_trace()를 대신해서 사용할 수 있는 built-in 함수
- python 3.7에 도입됨.
Usage
def example():
arr = [num for num in range(10)]
breakpoint()
print("after breakpoint")
return arr
res = example()
- 인터프리터는 코드를 실행하다가 위와 같이 breakpoint()를 만나면 debug console이 실행됨. 이 console에서는 런타임의 객체값을 확인하거나 디버거 명령어를 통해 프로그램을 디버깅 할 수 있음.
- 주요 디버거 명령어 // 여기서 괄호 안에 있는 부분은 입력해도 되고 안 해도 되는 부분임.
- s(tep): 현재 줄을 실행하고, 멈출 수 있는 가장 첫 번째 줄(호출되는 함수 또는 현재 함수의 다음 줄) 에서 정지
- r(eturn): 현재 함수가 반환될 때까지 계속 실행
- c(ontinue): 다음 breakpoint까지 코드 진행

- pp: 표현식의 값을 pprint 모듈을 활용하여 보기 좋은 형태로 출력
- ex: pp arr # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- q(uit), exit: 디버거 종료
- h(elp): 입력 가능 명령어 리스트를 출력
reference