3

I've built a static library from this Janrain source code and then created a binding library with Xamarin. An earlier version of the Janrain library worked just fine (eventually), but I needed to get the latest version for iOS 7 support but by repeating (basically) the same steps as I did previously, I can't get the native library to work. The binding library builds and it is linked correctly because I can see DLog statements from the native library appear in the debug console, but the native library crashes the simulator and I'm struggling to diagnose the problem.

Is there a way to attach the XCode debugger to the simulator and find the point where it crashes and maybe get some more info?

At the moment, all I'm getting from Xamarin is this:

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: 
Matt Burland
  • 44,552
  • 18
  • 99
  • 171

1 Answers1

2

You can attach Xcode to any running process:

  • Tap on the app in the simulator to start it (I don't recommend starting it by debugging from Xamarin Studio, since the managed debugger will complicate your native debugging significantly).
  • Open Xcode.
  • Open the menu Debug -> Attach to Process -> select your app from the list.
  • Make your app crash. It should now stop in Xcode and you can debug as you wish.
Rolf Bjarne Kvinge
  • 19,253
  • 2
  • 42
  • 86