有没有办法在运行Python时出错后访问变量

时间:2015-09-08 15:07:35

标签: python runtime-error pycharm

我正在使用Pycharm Community 4.5.4。我正在运行一个需要很长时间才能完成的程序。

不幸的是,我有一个打印语句出现在保存累积数据的行之前,该行有错误。我单独运行打印线并确认线路将失效。

我可能在运行程序后进行了更改,因此它不会失败,但我无法确定。代码部分大约需要90个小时才能完成,如果执行时间保持在平均值左右,我还剩下大约30个小时。

那么,如果失败了,有没有办法恢复数据?

为了清楚起见,我正在运行而不是调试。此外,我正在进行线性分析,以了解每个2.5小时迭代的时间是如何花费的。

1 个答案:

答案 0 :(得分:2)

所以我告诉你,你应该更新主模块以退出断点

import pdb
import random
import time
import os
import traceback
import sys


def main(*args, **kw):
    for i in range(10):
        print("OK I'm in %d" % os.getpid())
        time.sleep(4)
        if i == 9:
            raise Exception

if __name__ == '__main__':
    try:
        main()
    except:
        type, value, tb = sys.exc_info()
        traceback.print_exc()
        pdb.post_mortem(tb)

Starting python debugger automatically on error信用。

并使用Pycharm attach进行处理。如果出现错误,那么您将能够使用pycharm进行调试。