调试本机绑定库

时间:2013-09-26 14:23:42

标签: ios xcode debugging xamarin janrain

我从this 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: 

1 个答案:

答案 0 :(得分:2)

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

  • 点击模拟器中的应用程序启动它(我建议不要通过调试Xamarin Studio来启动它,因为托管调试器会使本机调试复杂化。)
  • 打开Xcode。
  • 打开菜单Debug - >附加到流程 - >从列表中选择您的应用。
  • 让您的应用崩溃。它现在应该在Xcode中停止,您可以根据需要进行调试。