2011-02-01 50 views
1

我有一個疑問,這是這樣的 -工藝處理堆棧溢出

假設一個過程檢測和保護它的堆棧區域邊界有寫保護頁面處理堆棧溢出。因此,由於堆棧溢出而導致對此頁面的任何寫入都將導致生成SIGSEGV信號。

但是由於進程堆棧已經溢出,SIGSEGV的信號處理程序如何執行?

這是一個概念性問題。希望我會找到一些答案。提前致謝。

回答

1

通常,您切換到單獨的堆棧以運行信號/異常處理程序。大多數情況下都以內核模式運行,並且(至少通常情況下)內核模式中的任何內容都不會在用戶模式堆棧中運行。