Windows 8.1, Visual Studio 2013 и “Debug Installed App Package”

В Visual Studio 2013 есть один очень забавный функционал, с помощью которого можно быстро отладить Windows 8.1 приложение, даже если оно не ваше.

Это довольно-таки прикольная возможность. Например, совсем недавно приложение Bing News долго не запускалось и в итоге крашилось и я решил попробовать его отладить. Для этого необходимо просто запустить Visual Studio 2013, а затем использовать меню Debug.

для отладки определенного приложения — выберите его из списка:

…который предлагает нам установленные пакеты, и далее выбрать тип отладчика.

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

Я мог запущу его с native отладчиком, как показано ниже:

а затем дайте ему поработать и взгляните на загруженные модули в окне модулей отладчика:

Насколько мне известно, WWAHost.exe является основным процессом для веб-приложений, так что я предполагаю, что это приложение HTML/JS. Однако … здесь есть что-то еще:

так что можно предположить, что все-таки есть .NET в этом приложении, и также есть длинный список .NET сборок, загруженных в этот процесс..и есть также признак SQLLite, который по видимому используется в качестве механизма хранения:

и некоторые интересные сборки:

 Я не начал разбираться в них, но, может быть, это могли бы быть .NET реализации компонентов WinRT, которые затем, возможно, вызываются слоем HTML/JS UI. Смешивание технологий должно быть сделано с осторожностью, так как это может быть источником головной боли производительности.

Если я буду отлаживать приложение еще раз, но на этот раз запущу с управляемым (managed) отладчиком, может быть, я увижу возникшее исключение. То есть, перезапустить приложение с

а затем установить точку останова, когда возникнет .NET исключение.

Как мы видим, основная причина краша приложения, по-видимому, плохой статус HTTP ответа, плюс единственное, что я в состоянии извлечь из ошибки является таинственный значение «103» в сообщении об исключении.

Проход по стеку вызовов может нам помочь. Что здесь можно увидеть, например:

а также можно заглянуть внутрь объекта и увидеть

 Может быть проблема именно в этом? Это путь, в который пытается достучаться приложение: http://az301819.vo.msecnd.net/flighting/prod/v1/en-gb/experiments.json?Client-AppVersion=3.0.1.321

На момент написания статьи он возвращает ошибку 404, но мы не знаем из-за этого ли крашится приложение.

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

Отчет можно сохранить используя меню:

Магазин Windows, как правило, размещает отчеты об ошибках в портале разработчика и я уверен, что люди, которые работают над Bing News App регулярно их обрабатывают.

Стоит также отметить, что этот вид диагностики можно сделать удаленно, например, на планшете.

Ссылка на источник: Windows 8.1, Visual Studio 2013 and “Debug Installed App Package”

 

 

Advertisements
Tagged with: , , ,
Опубликовано в Development, Windows 8.1

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: