gpt4 book ai didi

ios - Xamarin.IOS 和 Instruments 分析问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:09:01 26 4
gpt4 key购买 nike

我试过使用 Instruments 来检测内存问题。我使用以下指南向我展示了如何设置 Xamarin->Instruments,http://docs.xamarin.com/guides/ios/deployment,_testing,_and_metrics/instruments_walkthrough/

然而,我看到 Instruments 在 Xcode5 中改变了一些,这并不重要,但一些按钮名称等已经改变了名称。无论如何,我的问题是,在运行 Instruments 时,在 instruments 的调用堆栈中选择一个条目时,我没有得到“单声道代码”(在上面指南的第 14 步中提到)。有时我只获得对应用程序中调用的汇编程序/十六进制(?)引用(可能是因为仪器无法匹配 dsym 文件),大多数时候我只在调用堆栈中获得名称:“native_to_managed_trampoline_ _”,其中显示了一些 obj-c 混淆代码。

那么,我究竟如何才能在仪器中分析我的应用程序、查看正确的调用堆栈,以及当我单击调用堆栈条目时,查看有问题的 C# 代码(就像在指南中一样)??

最佳答案

需要检查的几件事:

  • 在设备而非模拟器上进行配置。在设备上你应该得到托管帧的符号,而在模拟器中你不会(这是因为在模拟器中代码是 jitted,并且从内存地址转换为方法名称的信息只存在于进程的内存中)。

  • 确保应用程序名称 (foo.app) 与您的可执行文件名称 (foo.exe) 相同,否则由于某些原因符号化可能无法正常工作。您可以在项目的构建/输出选项(“程序集名称”字段)中检查/修改可执行文件名称。

  • 不要重新构建您的应用,然后对较早的构建进行分析。重建将覆盖 dSYM 目录,并使其与之前的任何构建不兼容。

  • 如果您要分析发布版本,请确保 C# 编译器发出调试信息(在项目的构建/编译器选项中,将“调试信息”设置为“完整”)。这不会以任何方式影响最终应用程序,它只会使 dSYM 目录包含更多调试信息(文件名/行号),因此也可以安全地为您的版本保留此选项。

关于ios - Xamarin.IOS 和 Instruments 分析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19657116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com