【发布时间】:2011-11-29 11:38:33
【问题描述】:
我在 Windows 上运行一个独立的 Python v3.2.2/Tkinter 程序,不调用任何外部库。 Idle 在报告异常方面非常有帮助,程序已经调试到不报告异常的地步。然而,python 解释器偶尔会在不确定的时间崩溃——操作会运行一段时间,然后突然挂起。崩溃触发标准 Windows 无响应进程对话框,询问我是否要向 Microsoft 发送崩溃转储:
"pythonw.exe has encountered a problem and needs to close.
We are sorry for the inconvenience."
Crash reporting in Python 表示解释器本身很少崩溃。我的问题是:无论python脚本中有多少错误,理论上有什么方法可以使解释器崩溃吗?由于没有报告异常并且崩溃是随机发生的,因此很难缩小范围。但是如果解释器理论上应该是防崩溃的,那么我正在做的事情就是触发一个错误。
代码(滚动条形图演示)发布在What is the best real time plotting widget for wxPython?。它有 3 个按钮 - 运行、停止、重置。要导致崩溃,只需按随机顺序按下按钮一分钟左右。无需交互,演示将永远运行而不会崩溃。
【问题讨论】:
-
这取决于脚本。纯 python 应该是安全的,并且通常会非常重视崩溃。但是根据您使用的模块(想想 ctypes),Python 越来越难以避免任何问题。
-
我认为实际上没有任何东西可以在计算机系统上运行 100% 保证永不崩溃!有错请指正。
-
套用道格拉斯·亚当斯的话说:可能崩溃的软件和不可能崩溃的软件之间的主要区别在于,当不可能崩溃的软件崩溃时,它通常无法获得或修复。
标签: python crash tkinter stripchart