Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.033 c
6-41800
Artem
2003-09-17 11:52
2003.11.13
Передача сообщения по сети


14-41990
Gfa
2003-10-07 19:31
2003.11.13
In The Woods


9-40763
higor
2003-05-05 07:54
2003.11.13
Изменение разрешения экрана в Delphi


3-40806
axx
2003-10-22 13:07
2003.11.13
Footers in DBGridEH


6-41826
Morfein
2003-09-14 22:36
2003.11.13
Порты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский