1.3.31. $S : Проверка стека

На верх  Назад  Вперёд

Директива {$S+} указывает компилятору, что нужно генерировать код проверки стека. Она создаёт код для проверки переполнения стека, то есть код, который проверяет, не превысил ли стек максимально допустимый размер. Если стек превысил максимально допустимый размер, то генерируется ошибка времени выполнения, а программа будет завершена с кодом 202.

Директива {$S-} отключает генерацию кода проверки стека.

Переключатель командной строки -Ct имеет тот же эффект, что и директива {$S+}.

По умолчанию проверка стека не выполняется.

ПРИМЕЧАНИЕ

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

Если произошла ошибка стека, это является фатальной ошибкой и не может выполняться корректно, независимо от того, работает оно в реальной среде или в процессе отладки.