我在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个按钮 - 运行,停止,重置。要导致崩溃,只需按随机顺序按下按钮一分钟左右。没有交互,演示将永远运行而不会崩溃。
答案 0 :(得分:6)
当然,目标是让Python之类的东西永不崩溃。唉,我们生活在一个不完美的世界。我认为,一个更有用的问题是“如果Python崩溃我该怎么办?”。如果你想帮助建立一个更完美的世界,首先在Python issue tracker进行快速搜索,看看是否已经报告过一个类似的问题,并且可能已在新的或尚未发布的Python版本中修复。如果没有,请查看是否可以找到重现问题的方法,并明确说明所涉及的步骤,操作系统平台和版本,适用的Python版本和第三方库。然后打开一个包含所有细节的新问题。请记住,Python与许多开源项目一样,是一个全志愿者项目,因此无法保证何时或者是否会更深入地调查或解决问题(大多数问题最终都会得到解决),但您可能会对此感到高兴已经尽了自己的一份力量,可能会拯救某人(可能很多人)的时间和麻烦。如果您在打开问题之前需要其他意见,可以在python-list mailing list/news group上询问。
答案 1 :(得分:4)
Python确实不是100%防撞,特别是在使用TkInter的外部库时。