아직도 print로 디버깅하고 있는 나 자신..
사실 가장 간단하고 직관적인걸.. 무시하지마라
최고의 디버깅 메소드 print()를 제외하고 파이썬에서 디버깅해보자.
방금 백준 문제 풀면서 연습해봤는데 조금만 익숙해지면 정말 유용할듯하다.
정리하자니 디버깅할만한 코드가 필요한데 방금 풀었던 코드는 너무 길고
예전에 풀었던 백준의 2178번 문제를 가져와서 디버깅해보자.
https://www.acmicpc.net/problem/2178
문제는 위의 링크에서 확인하고 풀이를 보자.
import pdb
파이썬이 기본으로 제공하는 모듈이다. 별도의 install이 필요없다.
pdb.set_trace()
중단하고싶은 부분에 넣어주자. 사실 어지간한 ide는 제공하는.. 빨간점의 효과로 보인다.
그리고 실행해주면
저부분에서 멈추고 다음 실행할 코드, 현재 돌아가고 있는 함수이름을 보여준다.
저 코드까지 돌아갔을때 메모리에 올라가있는 변수는 전부 print로 확인할 수 있다 !
나는 어디서왔는가를 보여준다. 이거 무조건 list랑 헷갈린다. 헷갈리지마라 미래의 조동이
다음줄로 넘어간다. 직관적이다.
여기서 반했다. 파이썬만 가능한 디버깅 방식이라고 생각한다.
해당 값을 돌아가는 와중에 바꿔준다 !!
다음 중단점까지 진행한다 !
없다면? 끝까지 간다.
을 통해 디버깅을 끝낼수 있다.
외에도 다양하고 유용한 명령어들을 제공한다 !
print말고 pdb도 유용하게 써보자 !~