Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Stack overflow


scout ©   (2003-05-03 20:31:00) 

Ну беда!!! При запуске проекта вылетает сообщение:
Project lala.exe raised exception class EStackOverflow with message "Stack Overflow". Process stopped.
Что это такое и как с этим бороться?


k-man   (2003-05-07 22:34:00) [1]

Неплохая шутка-)


Aldor   (2003-05-07 21:51:00) [2]

2k-man
Неважно, это просто шутка :)


Aldor   (2003-05-07 21:51:00) [3]

2k-man
Не важно, это просто шутка :)


k-man   (2003-05-07 12:38:00) [4]


> Как? У ваc еще нет нового процессора Intel Pentium V, выполняющего
> бесконечный цикл за 6 секунд? :)))

Слышал что это из рекламы суперкомпа Cray.


Aldor   (2003-05-07 09:36:00) [5]

Как? У ваc еще нет нового процессора Intel Pentium V, выполняющего бесконечный цикл за 6 секунд? :)))


Palladin   (2003-05-07 08:47:00) [6]

естественно


Alek Aaz   (2003-05-07 03:54:00) [7]

ИМХО. Если в алгоритме есть логическая ошибка {$M} не поможет. Программа засрет все что можно.


Palladin   (2003-05-06 14:17:00) [8]


> k-man © (05.05.03 22:00)

от установки
{$M}


k-man   (2003-05-05 22:00:00) [9]

А вот что интересно: От чего зависит размер стека?
И можно ли его как-то контролировать? Лично я сомневаюсь...


Aldor   (2003-05-05 20:16:00) [10]

2k-man

Все правильно, в стеке резервируется место для аргументов функции, возвращаемого значения функции, всех локальных переменных функции, и так же еще место для указателя, имеющего "внутреннее" предназначение. Таким образом можно примерно подсчитать, сколько места в стеке займет рекурсия заданной глубины.


k-man   (2003-05-05 18:35:00) [11]

К вопросу понимания стека...
Попытаюсь предположить почему при глубокой рекурсии переполнятся стек.
Насколько я знаю 1)стек не бездонный.
2)в него при вызове процедур ложатся все ( не только они но все же по-моему они здесь стек и забивают)

К вопросу понимания стека...
Попытаюсь предположить почему при глубокой рекурсии переполнятся стек.
Насколько я знаю 1)стек не бездонный.
2)в него при вызове процедур ложатся все передаваемые аргументы(не только они но все же по-моему они здесь стек и забивают).
Может быть поэтому при глубокой рекурсии стек переполняется.
Так как эти параметров, точек возврата и т.д. становится слишком много..
Хотя это лишь предположение.... Вполне возможно ошибочное..


Arch-vile   (2003-05-04 23:21:00) [12]

ну типа того, может быть сложнее, и не обязательно iв качестве переменной ;)


Arch-vile   (2003-05-04 23:19:00) [13]

> > Наиболее частая причина переполнения стека - слишком глубокая >рекурсия, возможно без условия выхода.
>Ну ты и загнул попроще нельзя.

рекурсия - обратный вызов процедуры, т.е. когда она сама себя вызывает. Например
procedure xxx(i:integer);
begin
xxx(i);
end;

вот тебе и обратный вызов, рекурсия. может быть через 2-3 функции-процедуры:
procedure xxx(i:integer);
begin
yyy(i);
end;

procedure yyy(i:integer);
begin
xxx(i);
end;


scout   (2003-05-04 21:45:00) [14]

> Наиболее частая причина переполнения стека - слишком глубокая рекурсия, возможно без условия выхода.
Ну ты и загнул попроще нельзя.


Aldor   (2003-05-03 22:04:00) [15]

Означает переполнение стека. Надо смотреть код. Стек заполняется, например, при объявлении локальных переменных и вызовах процедур. Наиболее частая причина переполнения стека - слишком глубокая рекурсия, возможно без условия выхода.
Иногда ошибку можно найти, используя отладочное окно Call Stack
(View -> Debug Windows -> Call Stack). Удачи!


default   (2003-05-03 21:36:00) [16]

Anatoly Podgoretsky © (03.05.03 20:49)
Юмор однако!
И дно у стека есть хе


Anatoly Podgoretsky   (2003-05-03 20:49:00) [17]

Бережнее относиться к стеку, не бездонный.


Наверх

Титульная страница Поиск, карта сайта Написать письмо