Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Stack overflow   Найти похожие ветки 

 
scout ©   (2003-05-03 20:31) [0]

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


 
Anatoly Podgoretsky ©   (2003-05-03 20:49) [1]

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


 
default ©   (2003-05-03 21:36) [2]

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


 
Aldor ©   (2003-05-03 22:04) [3]

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


 
scout ©   (2003-05-04 21:45) [4]

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


 
Arch-vile ©   (2003-05-04 23:19) [5]

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

рекурсия - обратный вызов процедуры, т.е. когда она сама себя вызывает. Например
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;


 
Arch-vile ©   (2003-05-04 23:21) [6]

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


 
k-man ©   (2003-05-05 18:35) [7]

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


 
Aldor ©   (2003-05-05 20:16) [8]

2k-man

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


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

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


 
Palladin ©   (2003-05-06 14:17) [10]


> k-man © (05.05.03 22:00)

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


 
Alek Aaz ©   (2003-05-07 03:54) [11]

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


 
Palladin ©   (2003-05-07 08:47) [12]

естественно


 
Aldor ©   (2003-05-07 09:36) [13]

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


 
k-man ©   (2003-05-07 12:38) [14]


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

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


 
Aldor ©   (2003-05-07 21:51) [15]

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


 
Aldor ©   (2003-05-07 21:51) [16]

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


 
k-man ©   (2003-05-07 22:34) [17]

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



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
7-42210
Fantomas
2003-08-24 09:53
2003.11.13
Системный процесс


7-42206
DVM
2003-09-04 18:11
2003.11.13
Где в Windows хранится обозначение года (г.) на текущем языке.


14-41988
Lony
2003-10-17 15:16
2003.11.13
Как скопировать SAM файл?


6-41865
Ancara
2003-09-10 11:41
2003.11.13
Событие соедининия с интернетом


14-42130
Новичок
2003-10-22 13:35
2003.11.13
Как послать сообщение SMS c компьютера на сотку