PuDB 이용하여 cli에서 python 디버깅하기
파이썬 디버깅을 위해 구긍링하던 중 stackoveflow에서 쓸만한 python debugger를 하나 찾았습니다. 바로 PuDB python 모듈입니다. 이 모듈은 파이썬 코드를 쉽게 디버깅하기 위해 만들어진 모듈입니다.
오늘은 이 PuDB 모듈을 사용하여 python 코드에 대해 디버깅하는 방법에 대해 작성해봅니다.
What is PuDB
pudb는 console 기반의 python 디버거입니다. 전체적인 느낌은 MS-DOS를 많이 따라가고 코드를 보면서 디버깅이 가능합니다. 단순해보이지만 많은 기능을 담고 있습니다.
그리고 CLI 기반 디버거로 간단한 스크립트를 디버깅하는데 있어서는 가장 편리한 것 같습니다. 참고로 원격 디버깅도 지원한다고 합니다.
Installation
pip 패키지로 설치할 수 있습니다.
pip install pudb
또는 github에서 직접 다운받아 사용하셔도 됩니다.
git clone http://git.tiker.net/trees/pudb.git
Debugging
실행은 python 의 -m
옵션으로 설치된 pudb를 로드하고, 대상 파이썬 파일을 지정해주면 디버깅 모드로 열리며 python 코드를 보면서 메모리 값과 변수값을 추적할 수 있습니다.
python -m pudb.run test.py
또한 pudb라는 명령을 별개로 지원하기도 합니다.
pudb my-script.py
이후 gdb와 동일한 커맨드로 코드 라인을 넘어가면 값을 추척하고 디버깅할 수 있습니다.
- c: Continue
- n: Next
- s: Step
- B: Break points
- S: Stack
- V: Variables
- C: Codes
- Ctrl-v: Insert a newline
- Ctrl-n/p: Browse command history
- Up/Down arrow: Select history
- TAB: Tab completion
Reference
- https://stackoverflow.com/questions/1623039/python-debugging-tips
- https://pypi.python.org/pypi/pudb
- https://github.com/inducer/pudb