1

monodevelopの[trymenu]>[project]>[profile mono ...]では、試す前にすべてが正常に機能しますが、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ビルド)に戻り、[詳細設定]タブで[SGEN世代別ガベージコレクターを使用する]の選択を解除する必要があります。

これを変更したら、ソリューションを再ビルドすると、正常に機能するはずです(リリースビルドで機能する理由は、ほとんどの場合と同様に、GC設定がデバッグビルドとリリースビルドで別々に保持されるためです)。

このようにクラッシュすることはないはずなので、何かが壊れている可能性があります。この問題を(テストケースとともに)http://bugzilla.xamarin.comに報告して、GC開発者がこの問題の原因を確認できるようにすることは可能でしょうか?ありがとう!

于 2012-12-12T02:43:24.020 に答える