Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   256 levels of recursion were exceeded in one action list (http://www.flasher.ru/forum/showthread.php?t=73677)

styx 29.12.2005 00:16

256 levels of recursion were exceeded in one action list
 
Добрый день!
Подскажите, а есть ли какая-то возможность посмотреть стек вызовов на момент такого события?

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

Цитата:

Сообщение от styx
А под словом стек я понимаю 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

Цитата:

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

так брэйкпоинт надо поставить в рекурсивную функцию. выполнения дойдет до тела этой функции и там ты уже посмотришь пошагово что происходит.

styx 16.01.2006 21:34

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


Часовой пояс GMT +4, время: 07:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.