Xamarin.ios MvvmCross引发InvalidStackFrameException
我正在使用MvvmCross开发ios应用程序。一切正常,直到我突然发现以下例外:Xamarin.ios MvvmCross引发InvalidStackFrameException,xamarin.ios,xamarin,mvvmcross,Xamarin.ios,Xamarin,Mvvmcross,我正在使用MvvmCross开发ios应用程序。一切正常,直到我突然发现以下例外: Mono.Debugger.Soft.InvalidStackFrameException: The requested operation cannot be completed because the specified stack frame is no longer valid. at Mono.Debugger.Soft.VirtualMachine.ErrorHandler (System.Obj
Mono.Debugger.Soft.InvalidStackFrameException: The requested operation cannot be completed because the specified stack frame is no longer valid.
at Mono.Debugger.Soft.VirtualMachine.ErrorHandler (System.Object sender, Mono.Debugger.Soft.ErrorHandlerEventArgs args) [0x00076] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs:301
at Mono.Debugger.Soft.Connection.SendReceive (CommandSet command_set, Int32 command, Mono.Debugger.Soft.PacketWriter packet) [0x000f9] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs:1448
at Mono.Debugger.Soft.Connection.StackFrame_GetValues (Int64 thread_id, Int64 id, System.Int32[] pos) [0x00026] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs:2225
at Mono.Debugger.Soft.StackFrame.GetValue (Mono.Debugger.Soft.LocalVariable var) [0x0005f] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/StackFrame.cs:122
at Mono.Debugging.Soft.VariableValueReference.get_Value () [0x0001a] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging.Soft/VariableValueReference.cs:68
at Mono.Debugging.Evaluation.ValueReference.OnCreateObjectValue (Mono.Debugging.Client.EvaluationOptions options) [0x00033] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging/Mono.Debugging.Evaluation/ValueReference.cs:138
at Mono.Debugging.Evaluation.ValueReference.CreateObjectValue (Mono.Debugging.Client.EvaluationOptions options) [0x00059] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging/Mono.Debugging.Evaluation/ValueReference.cs:106 Mono.Debugger.Soft.InvalidStackFrameException: The requested operation cannot be completed because the specified stack frame is no longer valid.
at Mono.Debugger.Soft.VirtualMachine.ErrorHandler (System.Object sender, Mono.Debugger.Soft.ErrorHandlerEventArgs args) [0x00076] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs:301
at Mono.Debugger.Soft.Connection.SendReceive (CommandSet command_set, Int32 command, Mono.Debugger.Soft.PacketWriter packet) [0x000f9] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs:1448
at Mono.Debugger.Soft.Connection.StackFrame_GetValues (Int64 thread_id, Int64 id, System.Int32[] pos) [0x00026] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs:2225
at Mono.Debugger.Soft.StackFrame.GetValue (Mono.Debugger.Soft.LocalVariable var) [0x0005f] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugger.Soft/Mono.Debugger.Soft/StackFrame.cs:122
at Mono.Debugging.Soft.VariableValueReference.get_Value () [0x0001a] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging.Soft/VariableValueReference.cs:68
at Mono.Debugging.Evaluation.ValueReference.OnCreateObjectValue (Mono.Debugging.Client.EvaluationOptions options) [0x00033] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging/Mono.Debugging.Evaluation/ValueReference.cs:138
at Mono.Debugging.Evaluation.ValueReference.CreateObjectValue (Mono.Debugging.Client.EvaluationOptions options) [0x00059] in /Users/builder/data/lanes/monodevelop-lion-license-sync/c5f82958/source/monodevelop/main/external/debugger-libs/Mono.Debugging/Mono.Debugging.Evaluation/ValueReference.cs:106
重要的是,这只发生在设备上,一切都在模拟器上完美工作。。。
我对代码进行了修改,得出了一个结论,一旦我删除了以下代码,一切都正常了:
var source = new MvxSimpleTableViewSource (MainTable, RecomendationTemplate.Key, RecomendationTemplate.Key);
MainTable.Source = source;
var set = this.CreateBindingSet<MainPage, MainPageViewModel> ();
set.Bind (source).To (vm => vm.Recomendations);
set.Apply ();
之后,我尝试使用一个不同的单元格模板。我从一个空的开始,它成功了。但一旦我添加了DelayBind方法,我就一直得到以下异常。。。我不知道如何从这里前进 此stacktrace看起来像是在xamarin调试器堆栈中-可能直接或通过论坛尝试他们的支持。@stuart我在android中发现了一个与我的问题类似的线程,但当我创建ipa并将其部署到设备上时,我的应用程序也崩溃了…@Amit你尝试过发布版本吗?这看起来很像调试器中的崩溃。@Krumelur我已经尝试使用特别许可证部署到我的设备上,所以我想是的:嗯,您可以使用或不使用调试信息进行部署。你应该试试后者。