переполнение стека обработки процесса - PullRequest
1 голос
/ 01 февраля 2011

У меня есть сомнение, которое выглядит так -

Предположим, что процесс обнаруживает и обрабатывает переполнение стека, защищая границу области стека с помощью страницы, защищенной от записи.Таким образом, любая запись на эту страницу из-за переполнения стека приведет к генерации сигнала SIGSEGV.

Но поскольку стек процесса уже переполнен, как может выполняться обработчик сигнала для SIGSEGV????

Это концептуальный вопрос.Надеюсь, я найду некоторые ответы.Заранее спасибо.

1 Ответ

1 голос
/ 01 февраля 2011

Как правило, вы переключаетесь на отдельный стек для запуска обработчика сигнала / исключения. Большинство в любом случае работают в режиме ядра, и (по крайней мере, обычно) в режиме ядра ничто не запускается из стека пользовательского режима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...