Как получить полную информацию об ошибке времени выполнения вместо <Превышен тайм-аут при получении сведений об исключении>? - PullRequest
0 голосов
/ 31 августа 2018

Итак, я пробовал xamarin в VS2017, но обнаружил эту необработанную ошибку:

Unhandled Exception:

Java.Lang.SecurityException: <Timeout exceeded getting exception details>

Это очень невежественно. Как получить полную информацию об ошибке во время выполнения, как в Android Studio?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Получив помощь от Microsoft, я наконец нашел решение.

TL; DR

Использовать журнал устройства VS Android и фильтровать его с помощью «mono-rt» или «Ошибка»

Полный ответ:

Есть 2 решения:

1. Использование Android Studio logcat:

Откройте Android Studio logcat («Просмотр»> «Инструмент Windows»> «Logcat»). В окне logcat выберите устройство, выберите развернутое приложение Xamarin.Android и выберите logcat для Ошибка

Make sure you choose the right device and then the Xamarin.Android application you've deployed and choose logcat for error

Android logcat отобразит ошибку времени выполнения:

error from android studio logcat

2. Использование Visual Studio Android Device Log:

Откройте журнал устройств Android в Visual Studio (Инструменты> Android> Журнал устройств).

Вот хитрый момент: в отличие от Android Studio, VS перечисляет весь журнал устройства, не ограничиваясь развернутым приложением Xamarin.Android. Так или иначе, мы должны использовать фильтр, чтобы получить соответствующую информацию. Проблема в том, какой фильтр мы должны использовать? Я использовал имя своего приложения, и ошибка не появилась. Оказывается, что когда происходит ошибка, журнал не содержит имени приложения. Вместо этого он имеет тег «mono-rt» с типом «Ошибка».

Итак, вот оно. Отфильтруйте его по тегу «mono-rt» или типу «Ошибка», и вы найдете информацию об ошибке

Log with mono-rt tag

0 голосов
/ 31 августа 2018

У меня была такая же проблема при вызове некоторого нативного API, решил это

Поместите try catch вокруг блока got, который выдает ошибку. Поставив точку останова в блоке catch, вы можете получить фактические сведения об исключении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...