繁体   English   中英

仪器泄漏 - 没有显示我的源代码

[英]Instruments Leaks - Not showing my source code

我试图使用Leaks应用程序分析iPhone应用程序,除了当我尝试查看有关特定内存泄漏的详细信息时,一切似乎都正常工作。 泄漏似乎没有加载我的源代码。 查看右侧的堆栈视图,我可以看到引用iPhone框架的调用,但引用我编写的源代码的任何内容都是空的。 下面的截图说明了我的观点。 浅蓝色的块应该引用我的源代码。 有没有人遇到过这个问题? Leaks是不是没有正确找到我的源代码/符号? 谢谢!

编辑:我正在使用带有Debug配置的'Device - iPhone OS 2.2'编译应用程序。 我通过在Xcode中选择Run-> Start With Performance Tool-> Leaks来启动Leaks。 如何为Leaks提供“使符号文件可用”?

替代文字
(来源: andrewgarrison.com

对于iOS 4.0及更高版本,修复符号并将这些无用的内存地址转换为漂亮的文件名,函数名和行号的方法如下:

  1. 在Xcode中,转到Run - > Run with Performance Tool并选择您的仪器
  2. 仪器加载后,按“停止”按钮停止录制。 转到文件 - >重新符号化文档。
  3. 在新窗口中,单击“路径”,然后单击加号(+)按钮以添加新路径。 导航到包含项目文件的文件夹,然后单击“打开”。 单击符号。
  4. 利润!

在我终于找到解决方案之前,我正在寻找这个好月份。 我希望这有助于你们中的一些人!

我看到这种情况发生了,但是在不同的配置上。 在Snow Leopard 10.6.1,Xcode 3.2,Instruments 2.0中,在模拟器中运行iPhone OS 3.0时,我没有在Leaks中获得任何符号。 在Apple的iPhone开发人员论坛中进行搜索后发现,这是iPhone 3.0 SDK的一个已知问题(正在进行中),将活动SDK切换到3.1是一种解决方法。 果然,它对我有用!

项目 > 编辑项目设置

选择调试目标

单击构建选项卡

确保取消选中Strip Linked Product

从您的启动磁盘中删除所有非ascii字符
和主机名(请参阅“系统偏好设置”中的“共享”面板)并重新启动

塔达!

如果构建目标目录以“。”开头。 (例如,我使用的是“.xcode-build”),然后找不到.dsym文件。 对于我的情况,将构建目录更改为“xcode-build”修复了问题,现在我的所有应用程序的符号都显示在堆栈跟踪中!

我有同样的问题。 事实证明我已将构建目录设置为/ tmp / xcode。 将此更改回默认值可修复问题。 这与Xcode 3.2.3有关。

您是否在调试模式下编译并使符号文件可用?

我有Snow Leopard和Xcode 4.5.2 - Instruments 4.5一旦我将默认的Debug位置设置为Legacy,它就开始显示了

转到文件---->项目设置---->高级---选择旧版

调试位置---旧版设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM