PDA

Просмотр полной версии : Помощь в дебаге, список всех вызванных функций


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

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

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

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