Как дебажить флешки в браузере

Всем привет!

Сегодня я расскажу как проводить подробную отладку стандартными средствами флеш-приложения запущенного в браузере.

А т.е. ловить в IDE все trace-ы и ошибки со всеми подробностями, когда ваша флешка открывается из под браузера.

Согласитесь, такая отладка весьма необходима когда вы разрабатываете игру, например, для социальных сетей или просто для сайта и хотите сразу видеть как будет выглядеть ваша игра на html-странице и как она будет при этом работать.

По умолчанию этого не дано, потому что тот flash-плеер, который устанавливается для браузеров, не является debug-плеером, как, например, локальный, который запускается у нас по умолчанию при компиляции флешки (про него я рассказываю в статье про Flash Player Debugger).

Получается нам надо сделать его «дебажным») Для этого идём на специальную страницу адоба для скачивания установок таких плееров: ссылка на страничку. Скачиваем установку для интереующего нас браузера и устанавливаем.

После этого можно указывать в свойствах вашего проекта чтобы при запуске проекта из под IDE открывался html-документ, содержащий флешку, флешка запуститься на страничке в браузере, а вы будете видеть все трейсы и ошибки в debugger-е IDE как если бы вы запустили флешку локально. Для FlashDevelop-ера, например, нужно в свойствах в разделе «Test project» поставить опцию «Open document» и указать путь к html-документу.

Расскажу ещё про одну фишку. Благодаря этому приёму можно будет производить отладку флешки, которая запускается именно в том месте, в котором флешка должна находиться в искомом варианте. Например давайте представим, что мы разрабатываем игру для соц-сети ВК. Как известно, при локальном подключении к ВК API у нас есть ряд ограничений по его использованию, например нельзя произвести тестовую покупку за голоса. Но нам очень нужно «потрейсить» код при этом. Для этого мы должны задебажить флешку при запуске из под самого ВК, так сказать в боевых условиях.

Для этого нужно сделать следующее:

  1. внести какую-либо ошибку в код запускаемой из под IDE html-страницы. Чтобы при её запуске дело до флешки не дошло.
  2. скомпилить нужную версию флешки и залить её в ВК.
  3. запустить флешку из под IDE (нажатием F5 в FlashDevelop-ере), при этом откроется страница с битым кодом и флешка не откроется на ней, а Debugger IDE будет ожидать запуска флешки.
  4. Далее переходим в ВК и открываем страницу с игрой и когда игра в ВК запустится, вы должны наблюдать как Debugger в IDE начнёт работать и показывать нам всё что полагается, как будто мы запустили флешку локально.

Вот и все дела!)