私たちはアプリでスクリプト言語として埋め込みcpythonを使用しています。起動時にsys.pathを変更して、アプリケーションの外部からコードを実行しないようにしていますが、PYTHONPATHのsitecustomize.pyを持つユーザーがsys.pathを修正する前にコードを実行させていますそのコードには厳しいクラッシュがあると考えています(例外ではなく、正常に捕捉されて処理されます)。どうすればPython 3.5をクラッシュさせることができますか?
私はpythonを初期化する前に環境からPYTHONPATH変数をクリアするのが正しいと考えていますが、問題を再現できないため正しくテストできません。
私が見つけた最も簡単な方法は、次のような、メモリへの書き込みをctypesのを使用している:
import ctypes
p = (ctypes.c_char).from_address(0)
while True:
p[0] = 0
p = p + 1
しかし、Pythonの3.5で、それは私にエラーを与えて、種類をc_charへの書き込みを許可していません"TypeError: 'c_char'オブジェクトは項目割り当て"をサポートしていません。
https://wiki.python.org/moin/CrashingPythonで利用できるいくつかの方法を試してみましたが、
純粋なPythonコードからPython 3.5をクラッシュする信頼できる方法はありますか?
'とそれをインデックス化する。 – user2357112
http://svn.python.org/view/python/trunk/Lib/test/crashers/ですべてのサンプルを試しましたか?私は3.5へのアクセス権がありませんが、repl.itで実行するとクラッシュするようなものもあります。[nasty_eq_vs_dict.py](http://svn.python.org/view/python/trunk/Lib/test /crashers/nasty_eq_vs_dict.py?view=log)、[mutation_inside_cyclegc.py](http:// svn。python.org/view/*checkout*/python/trunk/Lib/test/crashers/mutation_inside_cyclegc.py?content-type=text%2Fplain)、[gc_inspection.py](http://svn.python.org/view /tcheckout*/python/trunk/Lib/test/crashers/gc_inspection.py?content-type=text%2Fplain) – davedwards
ありがとう、@ user2357112、以前はctypesを使用せず、コードをコピーして貼り付けていましたが、明らかに私はそれをより詳しく見ているので、私には明らかに完璧な意味があります。 – alvion