ipdb 로 debugging 하기
기본적은 개념
ipdb 는 특별할 것 없다. 단순히 하나의 함수(모듈, 라이브러리) 이라고 보면 된다. 그래서 ipdb 에서 제공하는 break point 역할을 하는 함수를 내 python code 에 적어주면 된다. 당연히 내가 break 하길 원하는 곳에 적어준다.예를 들면 아래처럼 code 가 있을 때
a = 10 print a
아래 처럼 break point 를 넣어주면 된다.
a = 10
import ipdb; ipdb.set_trace() # 여기서 debugger 가 호출된다.
print a
gui debugger 와 비교
이것이 gui debugger 와 조금 헷갈릴 수도 있겠다. 하지만 원리는 같다. gui debugger 도 우리가 code 어딘가에 break point 를 설정하면, 그 곳에 해당하는 instruction 을 switch 하게 된다. 그런데 이 python debugger 는 그것을 source level 에서 한다. instruction level 이 아니라. python 이 동적으로 interpreting 되기 때문에 이런 debugger 가 가능하다.명령어들은 ref. 1 을 참고하자.
windows에서
windows 에서 설치해서 사용해 봤는데, tab 자동완성이 제대로 동작하지 않았다. linux 에서는 잘 동작한다.See Also
pycharm 으로 원격 디버깅
- python - How do I start up remote debugging with PyCharm? - Stack Overflow
- Remote Debugging
- PyCharm Remote Debugging · hydroshare/hydroshare Wiki · GitHub
- Debugging OpenStack with pycharm and pydevd | Tropical Devel
댓글 없음:
댓글 쓰기