私はこれが良い考えだとは主張していませんが、eval十分な大きさの入力文字列で実行することでPythonをクラッシュさせることができることを発見しました(2.7と3.2をチェック):
def kill_python(N):
S = '+'.join((str(n) for n in xrange(N)))
return eval(S)
私のコンピューターSでは問題なく生成できますが、値が約のN>74900場合、Pythonは。で失敗しSegmentation fault (core dumped)ます。インタプリタが処理できる文字列(または解析ツリー)の長さに制限はありますか?
注:私はこれを行う必要はありません。私にとって、これは箱の中で何が起こっているのかについての私の無知を反映したより深い質問です。ここでPythonが失敗する理由を理解したいので、壊滅的に(例外をスローしないのはなぜですか?)