1

在 monodevelop 尝试菜单 > 项目 > 配置文件单 ...,在尝试之前,一切正常,但现在对我来说在 iphone 调试模拟器中调试是不可能的。总是相同的错误

在发布模拟器中工作正常在 iphone 真实设备中工作正常在调试模拟器中的错误:

我认为禁用个人资料单...,但不可行,我不知道原因,谢谢。

Native stacktrace:

0   myprogram                          0x0009524c mono_handle_native_sigsegv + 284
1   myprogram                          0x0000bb38 mono_sigsegv_signal_handler + 248
2   libsystem_c.dylib                  0x9ae6059b _sigtramp + 43
3   ???                                0xffffffff 0x0 + 4294967295
4   myprogram                          0x001a4a62 single_arg_user_copy_or_mark + 34
5   myprogram                          0x001ce400 mark_tls_slots + 128
6   myprogram                          0x001a81b0 scan_from_registered_roots + 336
7   myprogram                          0x001b4356 major_collection + 2886
8   myprogram                          0x001b5098 mono_gc_collect + 88
9   myprogram                          0x002233a6 monotouch_pump_gc + 38
10  libsystem_c.dylib                  0x9ae08ed9 _pthread_start + 335
11  libsystem_c.dylib                  0x9ae0c6de thread_start + 34

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

1 回答 1

2

为了使用 MonoDevelop 的分析器,您必须启用 SGEN 垃圾收集器 (GC)。这是(来自堆栈跟踪)导致您崩溃的原因。

您需要返回到项目的选项(MonoTouch Build),然后在“高级”选项卡下,取消选择“使用 SGEN 分代垃圾收集器”。

更改此设置后,重新构建您的解决方案,它应该可以正常工作(它适用于发布构建的原因是因为 GC 设置与大多数设置一样,在调试和发布构建之间保持分离)。

现在可能有一些东西坏了,因为它不应该像这样崩溃。您是否可以将此问题(带有测试用例)报告给http://bugzilla.xamarin.com,以便我们的 GC 开发人员可以了解导致此问题的原因?谢谢!

于 2012-12-12T02:43:24.020 回答