Если вы Flash | Flex разработчик более полугода, то уже столкнулись с проблемой различного поведения Flash приложений на Development и Customer сервере. Не обязательно проблемы во флешке! Дефекты могут быть и на стороне сервера. Но, ответить на вопрос “Что сломалось?”, становится намного сложнее. “Начинается фантазия”. Отладочные поля поверх всего и вся, кучи проверок, обновления флешки на сервере заказчика, а главное потрачено много времени.
Все это в прошлом!
На горизонте появилось фришное приложение, под грозным названием De MonsterDebugger
Список возможностей:
Древовидная структура, позволяет пройти через весь код приложения на уровне
кода. Подробнее
Горячее редактирование, вы можете редактировать свойства и моментально видеть эффект в вашем приложение. Подробнее
Собственный метод trace(). Позволяет прослушать Объекты, Массивы, XML …. Лично я использую его чтоб просматривать каждый объект пришедший от сервера. Взял за правило пропускать такие объекты через MonsterDebugger.trace() в случае если во флеш-варсаx указан параметр testMode. Подробнее
Возможность вызвать пользовательский метод. Если у вас есть метод принимающий String, Number, Int, Uint то вы его можете испытать из MonsterDebugger. Подробнее
Установка:
1) Скачать и установить AIR. Можно здесь
2) Скачать и установить MonsterDebugger. Можно здесь
3) Экспортить пакет MonsterDebugger в ваше приложение. Это позволит соединить ваше приложение и MonsterDebugger. Соединение происходит по LocalConnection
4) Заимпортить класс MonsterDebugger в ваше приложение.
Flash example:
package {
import flash.display.Sprite;
import nl.demonsters.debugger.MonsterDebugger;
public class Main extends Sprite {
// Переменная для хранения MonsterDebugger
private var debugger:MonsterDebugger;
public function Main() {
// Инициализация
debugger = new MonsterDebugger(this);
// Использование метода trace
MonsterDebugger.trace(this, "Hello World!")
}
}
}
Flex example:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
<mx:Script>
<![CDATA[
import nl.demonsters.debugger.MonsterDebugger;
// Переменная для хранения MonsterDebugger
private var debugger:MonsterDebugger;
private function onInit():void
{
// Инициализация
debugger = new MonsterDebugger(this);
// Использование метода trace
MonsterDebugger.trace(this, "Hello World!");
}
]]>
</mx:Script>
</mx:Application>