Tutorial for debugging native stack traces

I'm currently porting a PC .Net application to the Mac. For the most part, working in Xamarin's environment has been enjoyable. However, the most painful point (for me at least) is the lack of tools to get the task done.

The application that I'm porting continues to use the "tried-and-true" C# code for the business logic, but has a "native" Cocoa User Interface. For the most part, this application works well. However, there are two or three areas where the application occasionally crashes, and the only data I can get out of it is the native OS X stack trace.

I know the approximate area that my code is crashing (sometime shortly after an Action.BeginInvoke() statement). It's likely failing because some memory is being released prematurely. (Either from OS X or Mono...I don't know what/where is getting released early, but I think it's that because I'm receiving a SIGILL as my error code) I do see lots of calls to functions like __CFRunLoopServiceMachPort that I'm not using directly.

I was hoping to find some documentation on how to debug these native stack traces. What tools are available? (I have seen Miguel's [url=http://tirania.org/monomac/archive/2013/Jan-03.html]blog post on using Instruments[/url] with OS X, but the problems seem to go away when I use the AOT compiler)

Does anyone know of any tutorials on how to debug these type of errors, or tools that can help debug these type of issues? (I am intentionally not posting a stack trace because I want to know how to debug the problem, and not what my specific problem is...)

Sign In or Register to comment.