我正在尋找一種方法來「回顧」調試python異常。本質上,如果我的程序引發了一個未處理的異常,我希望它能夠保存程序狀態,以便稍後返回並調試問題。我如何追溯調試python異常
我已經看了一下pdb文檔,看來你可以做到這一點,但前提是你可以在異常時與程序進行交互。這對我來說不起作用,因爲程序將在後臺運行(沒有控制終端)。
我的第一個(註定失敗!)方法是在我的程序的最高級別放置try/except塊,並在except塊中從當前異常中提取traceback對象並使用pickle將其寫入磁盤。然後,我計劃編寫一個單獨的程序,以取消對象的使用並使用pdb.post_mortem來調試崩潰的程序。但是回溯對象不是可以選擇的,但我不希望它能夠繼續工作,因爲它不會保存整個程序狀態。
這並不能解決您的問題,而是將您的整個程序包裝在`try`語句中,可能更好的方法是將未捕獲的異常分配給[`sys.excepthook`]( http://docs.python.org/library/sys.html#sys.excepthook)。 – aaronasterling 2010-11-26 22:20:20