2011년 11월 10일 목요일

파이썬 pydev / eclipse 를 이용한 디버깅하기


이번글은 파이썬에서 이클립스를 이용해서 디버깅하는 것을 소개해드리려고 합니다.

원래 python용 debug는 pdb라고 있는데, 이것의 사용법이 gdb를 쓰는 수준이어서,

이것보다는 이클립스에서 사용하는게 좀더 편하기 때문에 이클립스를 기준으로 설명 드리도록 하겠습니다.

여기서는 pydev를 까는거는 pass하도록 하겠습니다. 찾아보시면 간단합니다.

일단 그림을 보시면 아주 간단한 합니다.

적당한 breakpoint를 잡을 수 있게 특정라인에서 더블클릭을 합니다.
그러면 녹색 체크 동그라미가 생기고,

여기서 F11을 이용해서 Debug run을 실행시키면 됩니다.

그게 디버깅을 하기 위한 준비입니다.




그리고나면 Perspective라는 창으로 들어가는데,

아래와 같습니다. 오른쪽 상당에 있는 Pydev와 Debug로 모드를 전환하게되고
Pydev를 누르면 위의 에디터 화면이 나오고, Debug를 누르면 아래와 같은 Perspective화면이 나옵니다.

그리고 Debug는 MS Visual studio랑 비슷합니다. F5-F8을 이용해서,
Step into 부터, 디버깅을 할 수 가 있고요, 오른쪽에 실시간으로, variables가 나옵니다.




일단 이렇게 pydev를 이용해서 debug를 하시면 되고,

실제로는 방법론적으로 breaking point를 잡아서 디버깅하는것도 하나의 방법이지만,
그냥 print 를 찍어서 하는게 더 빠를 경우도 있습니다.

복잡한 프로그램이라면, pydev의 debug를 이용하는게 더 좋을 수도 있고요,
간단한 프로그램이라면, 저런방법 보다도 간단히 log를 찍어서 확인하는 방법이
더 좋을 수도 있습니다.

예를 들면 실시간 환경에서는 저런식의 step debug가 불가능한경우도 있기때문에ㅡ
즉, 디버거의 성능때문이 아니라 어플리케이션의 성질에 따라서, 불가한 경우도 있기때문에,

log를 이용한 방법도 놓치지 않으셨으면 합니다.

또, eclipse를 사용한 방법은 편하긴하지만, 또 보다보면, pdb만 쓰는 환경이 있을 수도 있거든요, 그러니 어느 하나 소홀히 하지말고 쓰시다 보면 좋을 결과가 있을거 같습니다.

이상입니다.







댓글 없음:

댓글 쓰기