[英]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及更高版本,修复符号并将这些无用的内存地址转换为漂亮的文件名,函数名和行号的方法如下:
在我终于找到解决方案之前,我正在寻找这个好月份。 我希望这有助于你们中的一些人!
我看到这种情况发生了,但是在不同的配置上。 在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.