반응형
이것은 내가 꽤 오랫동안 궁금해했던 질문이지만 적절한 해결책을 찾지 못했습니다. 스크립트를 실행하다가 IndexError를 발견하면 파이썬은 오류의 줄, 위치 및 빠른 설명을 인쇄하고 종료합니다. 오류가 발생하면 자동으로 pdb를 시작할 수 있습니까? 파일 맨 위에 추가 import 문을 두거나 몇 줄의 코드를 추가하는 것에 반대하지 않습니다.
해결 방법
import pdb, traceback, sys
def bombs():
a = []
print a[0]
if __name__ == '__main__':
try:
bombs()
except:
extype, value, tb = sys.exc_info()
traceback.print_exc()
pdb.post_mortem(tb)
import traceback, sys, code
def bombs():
a = []
print a[0]
if __name__ == '__main__':
try:
bombs()
except:
type, value, tb = sys.exc_info()
traceback.print_exc()
last_frame = lambda tb=tb: last_frame(tb.tb_next) if tb.tb_next else tb
frame = last_frame().tb_frame
ns = dict(frame.f_globals)
ns.update(frame.f_locals)
code.interact(local=ns)
참조 페이지 https://stackoverflow.com/questions/242485
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python string class like StringBuilder in C#? (0) | 2020.12.13 |
---|---|
파이썬 Python의 생성기 함수에서 한 번에 하나의 값을 얻는 방법은 무엇입니까? (0) | 2020.12.13 |
파이썬에서 아래 첨자 인쇄 (0) | 2020.12.13 |
파이썬 IDLE에서 Python 프로그램 실행을 중지하는 방법 (0) | 2020.12.13 |
파이썬 실행기에 치명적인 오류 : ""C : \ Program Files (x86) \ Python33 \ python.exe ""C : \ Program Files (x86) \ Python33 \ pip.exe ""를 사용하여 프로세스를 만들 수 없습니다. (0) | 2020.12.12 |
댓글