C# Xamarin应用程序仅在调试模式下崩溃
我有一个非常基本的应用程序,我用它来测试第三方库绑定。我通过interface builder创建了一个iAction。当我单击连接到iAction的按钮时,我的应用程序崩溃。这仅在调试模式下发生。应用程序在发布模式下或在我的设备上运行时不会崩溃。崩溃发生在调用任何iAction方法之前 这是控制台上记录的错误:C# Xamarin应用程序仅在调试模式下崩溃,c#,ios,xamarin,C#,Ios,Xamarin,我有一个非常基本的应用程序,我用它来测试第三方库绑定。我通过interface builder创建了一个iAction。当我单击连接到iAction的按钮时,我的应用程序崩溃。这仅在调试模式下发生。应用程序在发布模式下或在我的设备上运行时不会崩溃。崩溃发生在调用任何iAction方法之前 这是控制台上记录的错误: 2014-09-12 08:38:45.293 VinScanSandBox[33818:70b] instance: <CSSNMobileSDKController: 0x7
2014-09-12 08:38:45.293 VinScanSandBox[33818:70b] instance: <CSSNMobileSDKController: 0x7a6a8a30>
mono-rt: Stacktrace:
mono-rt: at <unknown> <0xffffffff>
mono-rt: at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <IL 0x000a6, 0xffffffff>
mono-rt: at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:39
mono-rt: at VinScanSandBox.Application.Main (string[]) [0x00008] in /Users/scordova/Projects/VinScanSandBox/VinScanSandBox/Main.cs:17
mono-rt: at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
mono-rt:
Native stacktrace:
mono-rt:
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
2014-09-12 08:38:45.293 Vinscan沙盒[33818:70b]实例:
mono rt:Stacktrace:
mono-rt:at
mono rt:at(包装器管理为本机)MonoTouch.UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
mono-rt:at MonoTouch.UIKit.UIApplication.Main(string[],string,string)[0x0004c]in/Developer/MonoTouch/Source/MonoTouch/src/UIKit/UIApplication.cs:39
mono-rt:in/Users/scordova/Projects/VinScanSandBox/VinScanSandBox/Main.cs:17中的VinScanSandBox.Application.Main(字符串[])[0x00008]
mono rt:at(包装器运行时调用)。运行时调用无效对象(对象,intptr,intptr,intptr)
mono-rt:
本机堆栈跟踪:
mono-rt:
=================================================================
在执行本机代码时收到SIGSEGV。这通常表明
mono运行时或某个本机库中出现致命错误
由您的应用程序使用。
=================================================================
更新:取消选中“启用调试”修复了崩溃,但没有向我解释为什么它会首先发生。仍在搜索完整解决方案。显然,在调试和发布模式下,您的Mono运行时设置是不同的。例如,问题可能在于其引用计数/GC行为,因此应用程序在调试模式下杀死必要的对象,而您仍在尝试执行它们。Mono GC有时会表现出一种奇怪的行为,请检查此项,例如:如果您在应用程序中使用lisview,请尝试添加lisview的以下属性 ListView CachingStrategy=“RecycleElement 所有listview的.xaml文件中