Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помощь в дебаге, список всех вызванных функций (http://www.flasher.ru/forum/showthread.php?t=86987)

MerlinTwi 26.10.2006 14:59

Помощь в дебаге, список всех вызванных функций
 
Было бы полезно получить результат работы программы в виде последовательного списка всех вызванных функций. По этому списку легко увидеть лишние вызовы, срабатывания обработчиков событий не к месту, или дублирующие вызовы...
На AS2 я это проделывал так: пробегаюсь по всем методам от рута и подменяю их так, чтобы сначала показывался trace с названием метода, а потом уж вызывался сам метод.
В AS3 так не получается :( Не дает зараза подменить код метода. Может есть другие варианты, типа определить свой Function.call или еще как...

MerlinTwi 26.10.2006 15:03

Кстати, маленький совет не по теме, но тоже в помощь дебага. Бывает ставишь в функции trace, но еще нужно и показать откуда была вызвана функция. Поскольку arguments.caller убрали, это не теперь не так просто сделать... а очень просто :)
Код:

trace((new Error()).getStackTrace());

MerlinTwi 26.10.2006 15:04

Все это практически не нужно во Flex с его мощным дебагером, а вот во Flash 9 дебагер вообще отсутствует начисто.

etc 26.10.2006 15:39

Я думаю, что пока вообще рано тут что-то делать в альфа-версии…

__i 26.10.2006 18:23

Цитата:

Сообщение от MerlinTwi
Было бы полезно получить результат работы программы в виде последовательного списка всех вызванных функций. По этому списку легко увидеть лишние вызовы, срабатывания обработчиков событий не к месту, или дублирующие вызовы...
На AS2 я это проделывал так: пробегаюсь по всем методам от рута и подменяю их так, чтобы сначала показывался trace с названием метода, а потом уж вызывался сам метод.
В AS3 так не получается :( Не дает зараза подменить код метода. Может есть другие варианты, типа определить свой Function.call или еще как...

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

Builder 15.11.2006 16:33

А если надо проделать дебаг flex-приложения, которое выложено уже на web-сервер ? Только используя консольный отладчик ? Или можно как-то сам Flex Builder задействовать ?

__i 15.11.2006 19:41

ну тут уже канешно нужно извращаться ;)
хотя я еще не видел ни одного приложения которое я бы не смог отладить локальными методами...


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

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