[컴][파이썬] 간단한 python command debugger ipdb

파이참으로 remote debugging






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 으로 원격 디버깅 


  1. python - How do I start up remote debugging with PyCharm? - Stack Overflow
  2. Remote Debugging
  3. PyCharm Remote Debugging · hydroshare/hydroshare Wiki · GitHub
  4. Debugging OpenStack with pycharm and pydevd | Tropical Devel





Reference


  1. An Introduction to Python Debugging - Safari Blog
  2. ipdb 0.8.1 : Python Package Index





댓글 없음:

댓글 쓰기