22 января 2012

fdb или как тестировать swf без графического интерфейса

Все мы во время разработок сталкивались с проблемой тестирования или дебагинга (то есть отлова ошибок). Сегодня я расскажу как это можно делать без специальных IDE, используя только инструменты непосредственно входящие в пакет flex sdk.


Итак для начала мы наберем текст нашей программы, который будет лежать в файле HelloWorld.as:
package
{
  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.display.Stage;
  import flash.events.MouseEvent;
  public class HelloWorld extends Sprite
  {
    public function HelloWorld()
    {
      trace ('my mess');
      var _text:TextField = new TextField();
      _text.text = 'Hello World';
      addChild(_text);
      stage.addEventListener(MouseEvent.MOUSE_DOWN, myTrace);
    }
    private function myTrace(event:MouseEvent):void
    {
      trace('down');
    }
  }
}

Как мы видем здесь есть вывод одного сообщения вначале запуска программы и еще вывод по нажатию на stage.
Теперь скомпилируем нашу программу в терминале:
mxmlc HelloWorld.as -debug=true

Обратите внимание на флаг -debug=true, который сообщает компилятору что не надо игнорировать команды trace, а как же нужно выводить ошибки.
После этого надо запустить непосредственно flex debuger командой:
fdb

потом сообщим какой файл надо тестировать:
file HelloWorld.swf

теперь запустим выполнение проверки командой:
run

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

после этого в плеере появится результат выполнения программы, а в терминале появится вывод информации.
А для того чтобы тестировать приложения в Интернете, достаточно в file передать url-адрес.

Вот собственно и все. Подписывайтесь на мой канал на youtubе.

1 комментарий:

  1. Второй урок куда интереснее первого! Растете, Михаил! С уважением P-A.

    ОтветитьУдалить

Поделиться своими мыслями...