гибкая запись ошибок времени выполнения стека в файл - PullRequest
0 голосов
/ 08 сентября 2010

Я занимаюсь разработкой приложения Flex + AIR. При отладке с помощью Flash Builder иногда я получаю диалоговое окно ошибок времени выполнения с кнопками «продолжить» и «отклонить все». Но когда я выпускаю сборку (.air) и запускаю приложение после установки. Тогда я не получаю тот же диалог в сборке релиза.

Мне нужно отследить эти типы ошибок времени выполнения, поскольку я пытаюсь записать их в файл в виде журналов.

Я пытался использовать попытку перехватить и записать в файл в блоке перехвата, но я не смог найти какой-либо выход из-за необработанных исключений или ошибок времени выполнения.

Есть ли способ достичь этого?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 13 сентября 2010

Вы не можете отлаживать скомпилированное приложение AIR с помощью проигрывателя отладки Flash, так как отладочная информация удаляется при сборке выпуска. Вы можете использовать что-то вроде De MonsterDebugger для вывода информации об ошибках, но, как правило, показывать информацию об ошибках в сборке релиза - плохая идея. Вы должны пройти тестирование перед выпуском.

0 голосов
/ 03 октября 2014

В Flash 11.5+ теперь можно получить трассировку стека во время выполнения с помощью error.getStackTrace (), см. http://renaun.com/blog/2012/09/getting-the-stack-trace-in-a-release-flash-player/

Это работает для меня в приложении Air.

0 голосов
/ 08 сентября 2010

Диалоговое окно ошибок отображается, только если вы используете отладчик версии Flash Player.

Вы можете зарегистрировать обработчик UncaughtErrorEvent и регистрировать ошибки с помощью trace или с помощью API ведения журнала :

private function onApplicationComplete():void
{
    loaderInfo.uncaughtErrorEvents.addEventListener(
        UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
}

private function onUncaughtError(event:UncaughtErrorEvent):void
{
    trace(error);
}
...