このプロジェクトでは、Python 3 must be compiled without sigaltstack enabled. sigaltstack を有効にせずに Python 3 をコンパイルするにはどうすればよいでしょうか?
1 に答える
3
必要なオプションで実行./configureします。すると、、、 ...pyconfig.hに加えて得られます。Makefileconfig.log
を編集pyconfig.h: を含む行を見つけ、その行をHAVE_SIGALTSTACK削除またはコメントアウトします。
#define HAVE_SIGALTSTACK 1
次に、、、make...
確認方法:faulthandlerモジュールに_stack_overflow機能があるか確認してください。持つべきではありません。
>>> import faulthandler
>>> print(hasattr(faulthandler, '_stack_overflow'))
False
障害ハンドラーは、Apport や Windows 障害ハンドラーなどのシステム障害ハンドラーと互換性があります。sigaltstack() 関数が使用可能な場合、モジュールはシグナル ハンドラに代替スタックを使用します。これにより、スタック オーバーフローでもトレースバックをダンプできます。
于 2013-10-23T16:10:09.863 に答える