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
我在这里有完全相同的问题,您可以看到捕获:
第一个错误屏幕
第二个错误屏幕
我强烈认为BLE类和Xamarin.Android调试器存在错误。
在我看来,如果我输入的所有代码
RangeNotifier_DidRangeBeaconsInRegionComplete/ MonitorNotifier_EnterRegionComplete和MonitorNotifier_ExitRegionComplete
没关系,那么没有问题,但如果有空引用或其他失败,我遇到了这个问题,整个调试系统都卡住了。
根据我在视觉工作室中使用这项技术的经验,我可以说我可以在第一次调试时遵循 DidRangeBeaconsInRegionComplete 然后它自己进行,即使我可以清楚地看到程序继续,它也不会停止。
我还注意到,当它无法正常工作时,我可以放置一个断点,整个程序都卡在这一点上,但我看不到 Visual Studio 中的中断,有时我发布的此错误会出现。
我的建议是:
- 首先,检查您从 BLE 库放入此方法的代码中没有空对象或问题。例如,首先测试外部函数。
- 清理解决方案后始终删除 bin 和 obj 文件夹,如断点和异常中所说的那样,xamarin android。
- 让我们等待更新并祈祷我们可以完成我们正在做的应用程序!!
我希望它有所帮助,因为我处于同样的情况,而且它太糟糕了!
经过数小时和数天的挣扎,我发现了问题!问题是我的应用程序需要很长时间才能执行 hes 任务,所以我将其包装在后台任务上
new Task (() =>
{
//Your code here...
}).Start();
所以请记住,即使不需要那么长时间,你也需要连接长时间执行任务!`