是否可以象征 MonoTouch 故障转储并从中获取行号? [英] Is it possible to symbolicate MonoTouch crash dumps and get line numbers out of them?

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

问题描述

是否可以符号化 MonoTouch 故障转储并从中获取行号?如果是这样,它是如何完成的?

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:

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

现在,当我对转储运行 symbolicatecrash 时,我会在堆栈跟踪中获得我的方法名称,但只有一个偏移量(例如+ 268")而不是行号.

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.

我使用的是 MonoTouch 4.21.

I am using MonoTouch 4.21.

推荐答案

简答:认为问题出在提前 (AOT) 编译器上- 但您最好将此类问题通过电子邮件发送到 mono-devel mailing-list得到一个明确的答案.

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.

长答案:

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

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 适用于 DWARF (DSYM) 文件.当 XCode 符号化故障转储时,它(仅)查看(AOT 生成的)DWARF 符号以获取其信息 - 即不查找 mdb 文件.

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.

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

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天全站免登陆