Xamarin VS2015 中的奇怪异常

本文关键字:异常 VS2015 Xamarin | 更新日期: 2023-09-27 18:31:50

我正在开发一个与BLE设备通信的应用程序。一切正常,但是当我从活动中多次切换时,我得到一个不可调试的异常:

01-26 09:06:43.040 I/时间线(7341): 时间线: Activity_launch_request id:BLEAPPtime:710885426 对象引用 not 设置为对象的实例。System.NullReferenceException: Object 引用未设置为对象的实例。在 Xamarin.VisualStudio.Debugger.AD7DebugExceptionEvent..ctor(螺纹 线程,字符串说明)在 C:''Users''builder''data''lanes''2599''1390b70a''source''XamarinVS''src''Core''VisualStudio''Debugging''MonoTools.Engine''AD7Events.cs:line 433 在 Xamarin.VisualStudio.Debugger.ExceptionsAdapter.OnUnhandledException(Object sender, TargetEventArgs args) in C:''Users''builder''data''lanes''2599''1390b70a''source''XamarinVS''src''Core''VisualStudio''Debugging''MonoTools.Engine''ExceptionsAdapter.cs:line 67 在 Mono.Debugging.Client.DebuggerSession.OnTargetEvent(TargetEventArgs 参数)在 Mono.Debugging.Soft.SoftDebuggerSession.HandleBreakEventSet(Event[] es, 布尔出列) at Mono.Debugging.Soft.SoftDebuggerSession.HandleEventSet(EventSet es) at Mono.Debugging.Soft.SoftDebuggerSession.EventHandler() Thread 已完成:#6 线程 '' (0x6) 已退出,代码为 0 (0x0)。

我不知道它来自哪里,如果我调试每个步骤都通过,直到我的活动在最后一个代码括号完成,然后我得到这个奇怪的例外。

有人知道如何调试吗?或关于这个错误。

https://bugzilla.xamarin.com/show_bug.cgi?id=38122

Xamarin VS2015 中的奇怪异常

我在这里有完全相同的问题,您可以看到捕获:

第一个错误屏幕

第二个错误屏幕

我强烈认为BLE类和Xamarin.Android调试器存在错误。

在我看来,如果我输入的所有代码

RangeNotifier_DidRangeBeaconsInRegionComplete/ MonitorNotifier_EnterRegionComplete和MonitorNotifier_ExitRegionComplete

没关系,那么没有问题,但如果有空引用或其他失败,我遇到了这个问题,整个调试系统都卡住了。

根据我在视觉工作室中使用这项技术的经验,我可以说我可以在第一次调试时遵循 DidRangeBeaconsInRegionComplete 然后它自己进行,即使我可以清楚地看到程序继续,它也不会停止。

我还注意到,当它无法正常工作时,我可以放置一个断点,整个程序都卡在这一点上,但我看不到 Visual Studio 中的中断,有时我发布的此错误会出现。

我的建议是:

  1. 首先,检查您从 BLE 库放入此方法的代码中没有空对象或问题。例如,首先测试外部函数。
  2. 清理解决方案后始终删除 bin 和 obj 文件夹,如断点和异常中所说的那样,xamarin android。
  3. 让我们等待更新并祈祷我们可以完成我们正在做的应用程序!!

我希望它有所帮助,因为我处于同样的情况,而且它太糟糕了!

经过数小时和数天的挣扎,我发现了问题!问题是我的应用程序需要很长时间才能执行 hes 任务,所以我将其包装在后台任务上

new Task (() => 
{ 
   //Your code here... 
}).Start();

所以请记住,即使不需要那么长时间,你也需要连接长时间执行任务!`