3

Is it possible to symbolicate MonoTouch crash dumps and get line numbers out of them? If so, how is it done?

I have configured my project in the following way:

  • Build in release mode
  • Checked 'Enable debugging' in Project Options -> Build -> iPhone Build -> General tab
  • Checked 'Emit debugging information' in Project Options -> Build -> Compiler

Now, when I run symbolicatecrash against a dump, I get my method names in the stack trace but with only an offset against them (eg '+ 268') rather than a line number.

I am using MonoTouch 4.21.

poupou
  • 43,413
  • 6
  • 77
  • 174
vlad259
  • 1,236
  • 10
  • 24
  • 1
    No it's not - but it's an Apple word (in an Apple world ;-) see http://developer.apple.com/library/ios/#technotes/tn2151/_index.html – poupou Oct 07 '11 at 12:54

2 Answers2

2

Short answer: I think the issue is with the ahead-of-time (AOT) compiler - but you better email such question to the mono-devel mailing-list to get a definitive answer.

Long answer:

Mono compilers/runtime (and that behavior is inherited by MonoTouch) keeps the debugging information, that includes line numbers, for its assemblies inside mdb files.

XCode works with DWARF (DSYM) files. When XCode symbolicate a crash dump it looks (only) in the (AOT-produced) DWARF symbols to get its information - i.e. the mdb files are not looked up.

Now the Mono debugger (and runtime) can cope with DWARF too (which should fit the bill). However for MonoTouch I'm not sure the AOT compiler (which calls gcc) is producing the final DWARF symbols containing the C# line numbers - resulting in symbols and offsets (both available to gcc) only being available.

poupou
  • 43,413
  • 6
  • 77
  • 174
  • So you're saying it is not possible? Why did it work for Geoff? http://stackoverflow.com/questions/5398986/unable-to-symbolicate-crash-log-from-a-monotouch-program – Krumelur Oct 10 '11 at 19:47
  • *You can also check the iPhone Console in Xcode or iPhone Configuration Utility for a managed stacktrace.* <- those are separate logs (from the crash dump) and separate tools. The question is not if it was possible to **see** managed stacktraces (easy for a local crash) but if you can get them from the crash dump (like you get from a third party). – poupou Oct 10 '11 at 20:05
1

which version of xcode are you using?

There was an problem in earlier versions - check https://github.com/chrispix/symbolicatecrash-fix

Karl Ranseier
  • 213
  • 2
  • 12