try
except
에 코드를 모두 래핑하는 것 외에도 python -mpdb script
과 같은 스크립트를 실행하는 것과 동일한 결과를 얻을 수있는 방법이 있습니까? 예외가 발생했을 때 무엇이 잘못되었는지를보고 싶습니다.스크립트 내부에서 python -mpdb와 동일한 작업을 수행하는 방법은 무엇입니까?
1
A
답변
3
당신이 다음 ipython에서 실행할 수있는 소스를 수정하지 않으려면 http://docs.python.org/library/pdb.html - 향상된 대화 형 파이썬 쉘.
ipython을 실행 한 후 %pdb on
을 실행하면 사후 디버깅을 실행할 수 있습니다. %run scriptname
은 스크립트를 실행하고 catch되지 않은 예외에 자동으로 디버거를 입력합니다.
또는 %run -d scriptname
은 디버거에서 스크립트를 시작합니다.
0
import pdb; pdb.set_trace()
출처 :
1
python -i script
예외가 발생하면 대화 형 셸에서 나갑니다. 당신이 모든 일반적인 디버깅 작업을 수행 할 수 있도록 다음
import pdb
pdb.pm()
는 사후 디버거에 넣을 것입니다.
스크립트가 sys.exit을 호출하지 않는 한 작동해야합니다. (이 매우 유용한 기술을 깨뜨릴뿐만 아니라 테스트를 작성하기가 더 어려워지기 때문에 어떤 스크립트를 사용하면 안되는가?)
관련 문제
- 1. python cgi를 사용하여 작업을 수행하는 방법은 무엇입니까?
- 2. Ruby에서이 작업을 수행하는 방법은 무엇입니까?
- 3. Cocos2d에서이 작업을 수행하는 방법은 무엇입니까?
- 4. Mysql이 작업을 수행하는 방법은 무엇입니까?
- 5. Facebook API에 대해 동일한 작업을 수행하는 방법은 무엇입니까?
- 6. 표면 뷰 내부에서 작업을 완료하는 방법은 무엇입니까?
- 7. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까
- 8. 로컬 어셈블리에서 XmlnsDefinition 작업을 수행하는 방법은 무엇입니까?
- 9. 프로세스 종료시 작업을 수행하는 방법은 무엇입니까?
- 10. Scala에서 이와 같은 작업을 수행하는 방법은 무엇입니까?
- 11. 사용자를 로그 아웃하고 백그라운드 작업을 수행하는 스크립트
- 12. linq를 사용하여이 작업을 수행하는 방법은 무엇입니까?
- 13. 이 작업을 수행하는 LINQ의 유용한 방법은 무엇입니까
- 14. jQuery를 사용하여 다음 작업을 수행하는 방법은 무엇입니까?
- 15. 이 작업을 수행하는 가장 효율적인 방법은 무엇입니까?
- 16. 자연 분류 작업을 수행하는 방법은 무엇입니까?
- 17. C에서 루아 테이블 작업을 수행하는 방법은 무엇입니까?
- 18. Rails 3에서이 작업을 수행하는 방법은 무엇입니까?
- 19. 우분투에서 mail() 작업을 수행하는 방법은 무엇입니까?
- 20. xcode에서 텍스트 작업을 수행하는 방법은 무엇입니까?
- 21. struts2에서 백그라운드 작업을 수행하는 방법은 무엇입니까?
- 22. 버튼을 클릭하는 동안 작업을 수행하는 방법은 무엇입니까?
- 23. JTable에 JCombobox를 추가하고 JTable 내부에서 해당 조치를 수행하는 방법은 무엇입니까?
- 24. Python 스크립트의 통합 테스트를 수행하는 방법은 무엇입니까?
- 25. 설치 프로젝트 내부에서 SQL 스크립트 파일 실행
- 26. Apache에서이를 수행하는 방법은 무엇입니까?
- 27. 내 코드에서 누락 된 부분은 무엇입니까? 동일한 작업을 수행하는 방법은 무엇입니까?
- 28. 파이썬 스크립트 내부에서 현재 파이썬 인터프리터 경로를 얻는 방법은 무엇입니까?
- 29. Java에서 GUI 작업을 수행하는 방법
- 30. Rmagick에서 작업을 테스트하기 위해 신속하게 수행하는 방법
네,하지만이 작업은'pdb.set_trace'에서 멈출 것입니다. 예외가 발생하면 자동으로 중지되도록합니다. – Geo
pdb.post_mortem (해당 문서에도 있음)을 사용해 볼 수 있습니다. 예외의 추적을 전달하십시오. 물론 이것을하기 위해 어딘가에 잡아야 할 것입니다. – kwatford