3

我从这个Janrain 源代码构建了一个静态库,然后使用 Xamarin 创建了一个绑定库。Janrain 库的早期版本(最终)工作得很好,但我需要获得最新版本的 iOS 7 支持,但是通过(基本上)重复与以前相同的步骤,我无法让本机库工作. 绑定库构建并正确链接,因为我可以看到来自本机库的 DLog 语句出现在调试控制台中,但是本机库使模拟器崩溃,我正在努力诊断问题。

有没有办法将 XCode 调试器附加到模拟器并找到它崩溃的点并可能获得更多信息?

目前,我从 Xamarin 得到的只是:

Native stacktrace:


mono-rt:    0   JanrainTestApp                      0x0034a11d mono_handle_native_sigsegv + 349

mono-rt:    1   JanrainTestApp                      0x00376f5c mono_sigsegv_signal_handler + 188

mono-rt:    2   libsystem_c.dylib                   0x032ec94b _sigtramp + 43

mono-rt:    3   ???                                 0xffffffff 0x0 + 4294967295

mono-rt:    4   libdispatch.dylib                   0x02fd6b4e dispatch_sync_f + 92

mono-rt:    5   libdispatch.dylib                   0x02fd9345 _dispatch_sync_f_recurse + 90

mono-rt:    6   libdispatch.dylib                   0x02fd6b3c dispatch_sync_f + 74

mono-rt:    7   libdispatch.dylib                   0x02fd7953 dispatch_sync + 37

mono-rt:    8   libsystem_network.dylib             0x03162dea net_helper_send + 195

mono-rt:    9   libsystem_network.dylib             0x031632a5 net_helper_connect_report + 496

mono-rt:    10  libsystem_network.dylib             0x031596c6 tcp_connection_connect_complete + 974

mono-rt:    11  libsystem_network.dylib             0x0315a64e tcp_connection_handle_destination_complete + 72

mono-rt:    12  libsystem_network.dylib             0x03170fa3 __tcp_connection_destination_setup_socket_events_block_invoke_2 + 1847

mono-rt:    13  libdispatch.dylib                   0x02fea4b0 _dispatch_client_callout + 14

mono-rt:    14  libdispatch.dylib                   0x02fe0e6b _dispatch_source_latch_and_call + 150

mono-rt:    15  libdispatch.dylib                   0x02fdb443 _dispatch_source_invoke + 411

mono-rt:    16  libdispatch.dylib                   0x02fd8018 _dispatch_queue_drain + 338

mono-rt:    17  libdispatch.dylib                   0x02fd7e85 _dispatch_queue_invoke + 126

mono-rt:    18  libdispatch.dylib                   0x02fd8e25 _dispatch_root_queue_drain + 83

mono-rt:    19  libdispatch.dylib                   0x02fd913d _dispatch_worker_thread2 + 39

mono-rt:    20  libsystem_c.dylib                   0x03302e72 _pthread_wqthread + 441

mono-rt:    21  libsystem_c.dylib                   0x032eadaa start_wqthread + 30

mono-rt: 
4

1 回答 1

2

您可以将 Xcode 附加到任何正在运行的进程:

  • 点击模拟器中的应用程序以启动它(我不建议通过从 Xamarin Studio 调试来启动它,因为托管调试器会使您的本机调试显着复杂化)。
  • 打开 Xcode。
  • 打开菜单 Debug -> Attach to Process -> 从列表中选择您的应用程序。
  • 让你的应用崩溃。它现在应该在 Xcode 中停止,您可以根据需要进行调试。
于 2013-09-27T07:41:55.907 回答