3

外部ライブラリを呼び出さずに、Windows でスタンドアロンの Python v3.2.2/Tkinter プログラムを実行しています。Idle は例外の報告に非常に役立ち、プログラムは何も報告されないところまでデバッグされました。ただし、Python インタープリターは非決定論的なタイミングでクラッシュすることがあります。操作はしばらくの間正常に実行された後、突然ハングします。クラッシュにより、Microsoft にクラッシュ ダンプを送信するかどうかを尋ねる、標準的な Windows の応答しないプロセス ダイアログがトリガーされます。

"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 つのボタンがあります。クラッシュを引き起こすには、ボタンをランダムな順序で 1 分ほど押します。インタラクションがなければ、デモはクラッシュすることなく永久に実行されます。

4

2 に答える 2

6

もちろん、目標は Python のようなものが決してクラッシュしないことです。悲しいかな、私たちは不完全な世界に住んでいます。もっと有用な質問は、「Python がクラッシュしたらどうすればいいですか?」だと思います。より完璧な世界を作る手助けをしたい場合は、まずPython issue trackerで簡単に検索してください同様の問題がすでに報告されていて、新しいバージョンまたはまだリリースされていないバージョンの Python で修正されている可能性があるかどうかを確認します。そうでない場合は、関連する手順、OS プラットフォームとバージョン、Python とサードパーティ ライブラリのバージョン (該当する場合) に関する明確な指示で、問題を再現する方法を見つけることができるかどうかを確認してください。次に、すべての詳細を記載した新しい問題を開きます。Python は、多くのオープン ソース プロジェクトと同様に、すべてボランティアのプロジェクトであるため、問題がより深く調査または解決されるかどうか、またはその時期が保証されるわけではありません (ほとんどの問題は最終的に解決されます)。あなたの役割を果たし、おそらく誰か(おそらく多くの人)の時間と手間を省きました. 問題を開く前に他の意見が必要な場合は、python-list メーリング リスト/ニュース グループで質問できます。

于 2011-10-02T17:56:36.617 に答える
4

特に TkInter のような外部ライブラリを使用している場合、Python は実際には 100% クラッシュ防止ではありません。

専用のページもあります: http://wiki.python.org/moin/CrashingPython

于 2011-10-02T17:22:42.833 に答える