【问题标题】:Why won't my Monotouch app symbolicate in Instruments?为什么我的 Monotouch 应用程序不能在 Instruments 中进行符号化?
【发布时间】:2012-07-07 22:31:52
【问题描述】:

我为 Debug/iPhone 编译了我的应用程序,打开了用于 CPU 时间分析的 Instruments,将其连接到我的 iPad,选择了我的应用程序 (MainApp) 作为目标,记录了一个仪器会话,然后停止了它。

没有一个函数名是符号化的。它们都看起来像这样(0x133de3、0x2a1be7 等)。

我去了 Instruments->File->Re-Symbolicate Document... 我选择了我的应用程序并选择了 Locate。我将它指向我认为是 monotouch 在此路径上生成的正确符号文件: 桌面/iPadApp/MainApp/bin/iPhone/Debug/MainApp.app.dSYM

但是,当我单击“打开”时,它显示“无法使用选定的符号 - 重新符号化需要 MainApp.app.dSYM 和 MainApp 具有匹配的 UUID。”

我不确定这意味着什么或如何解决问题。我在 Snow Leopard 上运行 XCode 4.2、MonoDevelop 3.0.3.2 和 Monotouch 5.2.12。

任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: xamarin.ios profiling instruments


    【解决方案1】:

    此答案由 Miguel 提供...

    假设您的应用名为“Foo”,您可以检查二进制文件的 UUID 以确保它们彼此对应,如下所示:

    $ dwarfdump --uuid Foo.app/Foo
    UID: A5B46B4C-F5A1-3CDD-82B0-02CB7222F8CC (armv7) Foo.app/Foo
    $ dwarfdump --uuid Foo.app.dSYM
    UID: A5B46B4C-F5A1-3CDD-82B0-02CB7222F8CC (armv7) Foo.app.dSYM/Contents/Resources/DWARF/Foo
    

    如果它们不匹配,则意味着您没有最新的构建,并且其中一个文件已过时。

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      • 2012-11-01
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多