标签: operating-system stack-overflow signals
我怀疑是这样的 -
假设进程通过使用写保护页保护其堆栈区边界来检测并处理堆栈溢出。因此,由于堆栈溢出而对此页面的任何写入都将导致生成SIGSEGV信号。
但是由于进程堆栈已经溢出,如何执行SIGSEGV的信号处理程序????
这是一个概念性问题。希望我会找到一些答案。提前致谢。
答案 0 :(得分:1)
通常,您切换到单独的堆栈以运行信号/异常处理程序。大多数都以内核模式运行,并且(至少通常)内核模式中的任何内容都无法在用户模式堆栈中运行。