如何获取运行时错误的完整信息,而不是<超时超过=“ =” getting =“” exception =“” details =“”>?

时间:2018-08-31 08:02:50

标签: android debugging xamarin visual-studio-2017

所以我正在VS2017中尝试xamarin,但是发现了这个未处理的错误:

Unhandled Exception:

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

这很无能。如何像Android Studio中一样获取运行时错误的完整信息?

2 个答案:

答案 0 :(得分:0)

我在调用某些本机API时遇到了同样的问题, 通过

解决了

尝试在获得错误的代码块周围进行尝试。 在catch块中放置一个断点,可以获取该异常的实际详细信息。

答案 1 :(得分:0)

在获得Microsoft的帮助之后,我终于找到了解决方案。

TL; DR

使用VS Android设备日志并使用“ mono-rt”或“ Error”进行过滤

完整答案:

有2种解决方案:

1。使用Android Studio logcat:

打开Android Studio logcat(“查看”>“工具窗口”>“ 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设备日志:

打开Visual Studio Android设备日志(工具> Android>设备日志)。

这是一个棘手的问题:与Android Studio不同,VS列出了所有设备日志,而不仅限于已部署的Xamarin.Android应用程序。因此,我们必须以某种方式使用过滤器来获取相关信息。问题是,我们应该使用什么过滤器?我使用了我的应用程序名称,但未显示错误。事实证明,发生错误时,日志中不包含任何应用程序名称。相反,它具有类型为“ Error”的“ mono-rt”标签。

因此,您已经拥有了它。使用“ mono-rt”标签或“错误”类型对其进行过滤,您会找到错误信息

Log with mono-rt tag