Jupyter 또는 iPython Notebook에서 디버깅하는 방법

모 공부회에서 조금 화제가 되어 있었으므로, 조사해 보았습니다.

준비



디버깅하려는 행 바로 앞에 다음을 추가합니다.
from IPython.core.debugger import Pdb; Pdb().set_trace()
IPython.core.debuggerTrace 를 사용해도 좋지만, 현재는 DEPRECATED(폐지) 취급이 되고 있습니다.
참고 : IPython issue #9940

실행



Jupyter 또는 iPython Notebook에서 정상적으로 실행하면 이전 섹션에서 추가한 행 바로 다음에 실행이 중단됩니다.


ipdb> 다음에 나타나는 텍스트 필드에 명령을 입력하십시오. h 에서 도움말이 표시됩니다. q 로 종료합니다.

ipdb 명령 목록



참고 : Python Ipdb Cheatsheet

이동계




명령
설명


n
다음 행에 들어갈 때까지 실행 (next)

c
다음 중단점까지 계속 실행(continue)

unt 행 번호
지정된 행에 도달할 때까지 실행(until)

d
스텝 인 (down)

u
스텝 아웃 (up)

s
다음 함수 호출까지 실행 (step)

r
현재 함수가 반환될 때까지 실행(return)

q
끝까지 실행하고 종료 (quit)


표시계




명령
설명


p 변수 이름
변수 값 표시(print)

a
현재 함수의 인수 표시 (args)

w
스택 추적 표시(where)

h
도움말 (help)


브레이크 포인트 설정 시스템




명령
설명


b 행 번호 또는 함수 이름
중단점 설정(break)

tbreak 행 번호 또는 함수 이름
임시 중단 점 설정 (브레이크 포인트에 도달하면 삭제됨)

disable 번호
중단점 비활성화

enable 번호
중단점 활성화

ignore 번호 횟수
지정된 횟수만큼 중단점을 무시

조건 번호 설정할 조건
브레이크 포인트에서 조건의 판정 값 변경

cl
중단점 삭제(clear)

좋은 웹페이지 즐겨찾기