Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Как найти проблему в приложении? (http://www.flasher.ru/forum/showthread.php?t=214360)

djken 02.07.2017 02:16

Как найти проблему в приложении?
 
Всем привет.
Есть AIR приложение, которое пользователи скачивают с моего сайта. Все отлично работает. Но, примерно, 1 из 10 пользователей пишет мне в техподдержку о том, что приложение зависает - и у всех на одном и том же месте - появляется загрузчик и на этом всё... Хоть перезагружай приложение, хоть переустанавливай - ничего не меняется.
Тут только можно гадать в чем проблема - то ли SharedObject, то ли из-за SSL, а может вообще что-то другое..
Тестил приложение на разных компах - у меня эта проблема не появлялась ни на одной машине - в этом вся и сложность...

Как отследить эту проблему на машинах клиентов, которые удалены от меня физически??

Заранее благодарен за любой совет.

caseyryan 02.07.2017 10:30

Только логированием. Сделай запись логов во всех проблемных местах, поставь на все загрузчики блоки try /catch и в catch пиши логи ошибок. В try тоже поставь запись после операции load(), если до лога дойдет, значит все норм. Если проблема во время загрузки, то вероятнее всего именно с загрузкой из сети это и связано. Если грузится с локалки, то проверь как формируются слеши в путях. Вместо слеша "/" или "\" Нужно использовать File.separator, так как на разных операционках используются свои слеши. У меня была из-за этого проблема на линуксе, которую я долго не мог вычислить. Оказалось, что виндовский обратный слеш попадал в путь к файлу
Еще обязательно подпиши все загрузчики на IOErrorEvent.IO_ERROR, и добавь логирование этого события, ну и до кучи SecurityErrorEvent.SECURITY_ERROR. В общем, на все события загрузчика нужно подписаться обязательно
Сделай чтобы лог писался в доступное клиентам место, например File.documentsDirectory и попроси отправить его тебе после сбоя

djken 03.07.2017 13:24

caseyryan, спасибо. Буду думать.

У меня всё грузится из сети. Из локалки только настройки из кукисов считываются. Хотя у меня предусмотрены настройки по умолчанию и если что, применяются именно они.
1. Для флэш есть менеджер, в котором настраивается доступ к SharedObject.. А куда этот файл пишется для AIR, если у меня приложение Captive Runtime - может ли он быть недоступен? (все эти операции производит swf, который подгружается в air-приложение).

2. Выезжал недавно к клиенту, который находился неподалеку и у него была та же проблема - висит загрузчик в том же месте и ничего больше не происходит. Но как оказалось - если подождать 1-2 минуты, все нормально работает. Т.е. загрузка слишком долго происходит. Хотя на их машине в браузере интернет летает. Вот я и думаю - может проблема не в приложении, а с каким-нибудь фаерволом, либо антивирус блокирует?..

Tails 03.07.2017 15:18

Гадать бессмысленно, всё равно что иголку в стоге сена искать. Добавь в приложение глобальный перехват не обработанных ошибок, добавь в ключевых местах выполнения логи, типо: шаг1 - начат/выполнен, шаг2 - начат/выполнен и т.п.

undefined 03.07.2017 15:42

либо добавь индикацию старта приложения.Тупо цифру какую-нибудь рисуй в углу экрана.

caseyryan 03.07.2017 20:51

Цитата:

Но как оказалось - если подождать 1-2 минуты, все нормально работает. Т.е. загрузка слишком долго происходит. Хотя на их машине в браузере интернет летает. Вот я и думаю - может проблема не в приложении, а с каким-нибудь фаерволом, либо антивирус блокирует?..
Кэп мне тут подсказывает, что это легко проверить просто отключив антивирус и фаервол. Но тот же кэп ещё говорит, что если фаерволл или антивирус блокирует, то эта блокировка не отвалится сама собой.

Как вариант проверь настройки DNS серверов у клиента. Впиши альтернативный гугловский 8.8.8.8. Или если у тебя в проге делается запрос к домену, можешь попробовать заменить его просто IP адресом своего сервера


Часовой пояс GMT +4, время: 20:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.