是否有可能符号化MonoTouch崩溃转储并从中获取行号? [英] Is it possible to symbolicate MonoTouch crash dumps and get line numbers out of them?

查看:252
本文介绍了是否有可能符号化MonoTouch崩溃转储并从中获取行号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以符号化MonoTouch崩溃转储并从中获取行号?



我已按以下方式配置了我的项目:




  • 在发布模式中创建

  • 在项目选项 - >构建 - > iPhone构建 - >常规选项卡中选中启用调试在项目选项 - > Build - >编译器中选中发出调试信息



现在,当我对dump进行symbolicatecrash时,我的方法名称在堆栈跟踪,但只有一个偏移量(例如'+ 268')而不是行号。



我使用MonoTouch 4.21。 p>

解决方案

简短答案:我认为 -time(AOT)编译器 - 但您最好通过电子邮件将此类问题发送到单一邮件



Mono编译器/运行时(并且该行为由MonoTouch继承)为 mdb 文件中的程序集保留调试信息,包括行号。



XCode与 DWARF (DSYM)文件配合使用。当XCode符号化一个崩溃转储时,它(只)在(AOT产生的)DWARF符号中获取它的信息 - 即 mdb 文件不被查找。



现在,Mono 调试器(和运行时)也可以处理DWARF了应该适合账单)。但是对于MonoTouch,我不确定AOT编译器(它调用 gcc )是否产生包含C#行号的最后的 DWARF符号 - 导致符号 offsets (两者都可用于gcc)。


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.

这篇关于是否有可能符号化MonoTouch崩溃转储并从中获取行号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆