Xamarin App仅在调试模式下崩溃

时间:2014-09-12 13:41:23

标签: c# ios xamarin

我有一个非常基本的应用程序,用于测试第三方库绑定。我通过界面构建​​器创建了一个IBAction。当我单击连接到IBAction的按钮时,我的应用程序崩溃了。这只发生在调试模式下。应用程序在发布模式下或在我的设备上运行时不会崩溃。崩溃发生在甚至调用任何IBAction方法之前。

这是控制台上记录的错误:

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.
=================================================================

更新:取消选中“启用调试”修复了崩溃,但没有向我解释为什么它首先发生。仍在寻找完整的解决方案。

2 个答案:

答案 0 :(得分:2)

如果您在自己的应用中使用lisview,请尝试添加lisview的以下属性 ListView CachingStrategy =&#34; RecycleElement

在所有listview的.xaml文件中

答案 1 :(得分:0)

显然,您的Mono运行时设置在调试和释放模式下有所不同。问题可能在于其引用计数/ GC行为,因此应用程序在您仍尝试执行它们时会在调试模式下杀死必要的对象。 Mono GC有时代表一种奇怪的行为,例如检查:The value of method argument changes after the method is called