2
This project指出Python 3 must be compiled without sigaltstack enabled.
那麼在沒有啓用sigaltstack的情況下編譯Python 3需要做些什麼?如何在未啓用sigaltstack的情況下編譯python 3?
This project指出Python 3 must be compiled without sigaltstack enabled.
那麼在沒有啓用sigaltstack的情況下編譯Python 3需要做些什麼?如何在未啓用sigaltstack的情況下編譯python 3?
運行./configure
帶有您想要的選項。然後,您將獲得pyconfig.h
以及Makefile
,config.log
,...。
編輯pyconfig.h
:找到一行包含HAVE_SIGALTSTACK
的行,刪除或註釋掉該行。
#define HAVE_SIGALTSTACK 1
然後,make
...
如何確認:檢查faulthandler
模塊是否有_stack_overflow
功能。它不應該有它。
>>> import faulthandler
>>> print(hasattr(faulthandler, '_stack_overflow'))
False
根據faulthandler
module documentation:
故障處理程序是系統故障處理像Apport會 或Windows故障處理程序兼容。如果sigaltstack()函數可用,則該模塊使用替代堆棧替代 信號處理程序。這個 允許它甚至在堆棧溢出時轉儲回溯。