PDA

Просмотр полной версии : 256 levels of recursion were exceeded in one action list


styx
29.12.2005, 00:16
Добрый день!
Подскажите, а есть ли какая-то возможность посмотреть стек вызовов на момент такого события?

Ja-Ja
29.12.2005, 14:55
Стек вызовов чего? Если переменных то теоретически возможно. У тебя выполняется бесконечный цикл (по крайней мере так думает flash). На 256 итерации он тормозит и говорит,что цикл (while) зациклен до бесконечности. Кстати некоторые испльзуют бесконечные циклы для защиты файлов от декомпилирования! И вот если использовать цикл for, проверять 256 итерацию на нем,то это возможно в принципе..

__i
29.12.2005, 15:04
2 Ja-Ja такое получаеться при рекурсивном вызове функции !!!

styx что ты понимаешь под словом стек ?

styx
29.12.2005, 15:06
Ошибку-то свою я уже нашёл... Но если бы я мог увидеть содержимое стека вызовов, то есть отладчик не просто выкинул сообщение в Output, а остановился бы, как на точке останова, это бы заняло на порядок меньше времени. Может, можно где ему какую настройку выставить?
А ошибка эта значит не 256-ую итерацию цикла, а именно 256 вложенных вызовов функций.

styx
29.12.2005, 15:08
А под словом стек я понимаю Call Stack в отладчике

Antares
29.12.2005, 15:14
А под словом стек я понимаю Call Stack в отладчике
Легким нажатием Ctrl + Shift + Enter мы видим стэк вызовов в левом нижнем углу дебаггера. Не такой мощный, конечно, как в Eclipse / Flex Builder 2, но все же есть.

Вопросы?

styx
29.12.2005, 15:36
2Antares
Проблема в том, что не происходит остановки в отладчике. Просто пишется ошибка в Output, и к этому моменту Call Stack уже чист :(

Nox Noctis
29.12.2005, 19:18
2Antares
Проблема в том, что не происходит остановки в отладчике. Просто пишется ошибка в Output, и к этому моменту Call Stack уже чист :(
так брэйкпоинт надо поставить в рекурсивную функцию. выполнения дойдет до тела этой функции и там ты уже посмотришь пошагово что происходит.

styx
16.01.2006, 21:34
Sorry что поднимаю тему через полмесяца... Ну не был я это время на форуме :)
Так что всех с праздниками!
А насчёт брэкпойнта-то понятно... Проблема лишь в том, что пошаговой трассировкой в моём коде можно путешествовать часами (на моей машине, по крайней мере) - и дамп стека для того и нужен бы, чтобы найти виноватую функцию.
Ну да раз нет такого, то и нет.