3

我在 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."

Python中的崩溃报告表明解释器本身很少崩溃。我的问题是:无论python脚本中有多少错误,理论上有什么方法可以使解释器崩溃吗?由于没有报告异常并且崩溃是随机发生的,因此很难缩小范围。但是如果解释器理论上应该是防崩溃的,那么我正在做的事情就是触发一个错误。

代码(滚动条形图演示)发布在What is the best real time plotting widget for wxPython? . 它有 3 个按钮 - 运行、停止、重置。要导致崩溃,只需按随机顺序按下按钮一分钟左右。没有交互,演示将永远运行而不会崩溃。

4

2 回答 2

6

当然,目标是像 Python 这样的东西永远不会崩溃。唉,我们生活在一个不完美的世界。我认为,一个更有用的问题是“如果 Python 崩溃了我该怎么办?”。如果您想帮助创造一个更完美的世界,请先在Python 问题跟踪器上进行快速搜索查看是否已经报告了类似的问题,并可能在更新的或尚未发布的 Python 版本中得到修复。如果没有,看看你是否能找到一种方法来重现问题,并明确说明所涉及的步骤、什么操作系统平台和版本、什么版本的 Python 和第 3 方库(如果适用)。然后打开一个包含所有详细信息的新问题。请记住,与许多开源项目一样,Python 是一个全志愿者项目,因此无法保证何时或是否会更深入地调查或解决问题(大多数问题最终都会得到解决),但您可以很高兴您已经尽了自己的一份力量,并可能为某人(也许很多人)节省了时间和麻烦。如果您在打开问题之前需要其他意见,可以在python-list 邮件列表/新闻组中询问。

于 2011-10-02T17:56:36.617 回答
4

Python 确实不是 100% 防崩溃的,尤其是当您使用 TkInter 的外部库时。

甚至还有专门的页面:http ://wiki.python.org/moin/CrashingPython

于 2011-10-02T17:22:42.833 回答