#stack-overflow
#переполнение стека
Вопрос:
Я хочу обнаружить переполнение стека или повреждение в моем коде. Поэтому я написал небольшую программу, в которой моделируется переполнение стека. Я скомпилировал его с помощью команды:
gcc overflow.c -g -fstack-protector-all
Однако при выполнении двоичного файла я получил ошибку сегментации, но никакой другой информации.
Может кто-нибудь, пожалуйста, помогите мне, где я ошибся?
Ответ №1:
Если ulimit -c
установлено значение, намного большее нуля, записывается дамп ядра с именем core
; вы можете увидеть обратную трассировку, выполнив gdb program core
, а затем введя backtrace
в командной строке.
Комментарии:
1. Я сделал это. но информация, которую я получил, ничем не отличается от той, которую я скомпилировал, например: переполнение gcc. c Мой вопрос в том, что именно имеет значение параметр компиляции -fstack-protector-all?