Xcode 4 Memory Leak Instrument如何获取发生泄漏的代码行
Posted
技术标签:
【中文标题】Xcode 4 Memory Leak Instrument如何获取发生泄漏的代码行【英文标题】:Xcode 4 Memory Leak Instrument how to get line of code where leak occurred 【发布时间】:2012-04-25 17:18:19 【问题描述】:我正在尝试在 Xcode 4 中使用带有 ios 5.1(启用 ARC)的 Memory Leak 工具,并且我发现了内存泄漏,但是我到底是如何找到导致泄漏的代码行的呢?我已经阅读了一些关于此的教程,但它似乎是检测工具的旧版本,因为当我单击扩展详细信息选项卡并双击回溯中的项目时,我只会看到无用的汇编代码。此外,stacktrace 上的所有项目都不是我编写的任何类。我错过了什么吗?
【问题讨论】:
如果你要投票给我,至少告诉我为什么。 【参考方案1】:如果您的代码泄漏内存,您将在详细信息选项卡中看到您正在查看的相关方法。它们显示为黑色,而 API 中的方法显示为灰色。当然,您不能查看 API 方法,因此无法查看汇编代码。如果您的代码确实有问题,请将选项卡底部的滑块设置在最右侧位置,您应该会看到相关方法。
如果您的代码中仍然没有它们,您可能只是没有泄漏任何东西。 (实际上,ARC-Code 会泄漏内存的情况并不多。保留周期可能是最常见的一种)我偶然发现了一两个 API “泄漏”内存的情况。你真的无能为力,而且很可能,这只是一个误报,而不是真正的泄漏。如果您只是“泄漏”几个字节,我不会担心。
【讨论】:
以上是关于Xcode 4 Memory Leak Instrument如何获取发生泄漏的代码行的主要内容,如果未能解决你的问题,请参考以下文章
tomcat关闭时Log4j2报错 Log4j Log4j2-TF-4-Scheduled-1 memory leak