2010-02-25 7 views

답변

3

당신이 다음 ipython에서 실행할 수있는 소스를 수정하지 않으려면 http://docs.python.org/library/pdb.html - 향상된 대화 형 파이썬 쉘.

ipython을 실행 한 후 %pdb on을 실행하면 사후 디버깅을 실행할 수 있습니다. %run scriptname은 스크립트를 실행하고 catch되지 않은 예외에 자동으로 디버거를 입력합니다.

또는 %run -d scriptname은 디버거에서 스크립트를 시작합니다.

0

import pdb; pdb.set_trace()

출처 :

+0

네,하지만이 작업은'pdb.set_trace'에서 멈출 것입니다. 예외가 발생하면 자동으로 중지되도록합니다. – Geo

+0

pdb.post_mortem (해당 문서에도 있음)을 사용해 볼 수 있습니다. 예외의 추적을 전달하십시오. 물론 이것을하기 위해 어딘가에 잡아야 할 것입니다. – kwatford

1
python -i script 

예외가 발생하면 대화 형 셸에서 나갑니다. 당신이 모든 일반적인 디버깅 작업을 수행 할 수 있도록 다음

import pdb 
pdb.pm() 

는 사후 디버거에 넣을 것입니다.

스크립트가 sys.exit을 호출하지 않는 한 작동해야합니다. (이 매우 유용한 기술을 깨뜨릴뿐만 아니라 테스트를 작성하기가 더 어려워지기 때문에 어떤 스크립트를 사용하면 안되는가?)

관련 문제