开发者

Is it possible to symbolicate MonoTouch crash dumps and get line numbers out of them?

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.


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.


which version of xcode are you using?

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜