问题标签 [instruments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3051 浏览

xcode - Xcode 3.2.1 和 Instruments:无用的堆栈跟踪

我已经到了该开始追踪内存泄漏的阶段了,但令我沮丧的是,Instruments 几乎没有给我任何继续工作的机会(除了我肯定有泄漏的事实)。我的堆栈跟踪不包含内存地址以外的任何信息。

由于我正在开发一个新项目并且我已经过渡到 Xcode 的 3.2.1 版本,所以我不确定是我的程序配置还是 Xcode 导致了问题。我发现了一个对这个问题的引用以及一篇关于dyld泄漏的帖子,这似乎在 3.2.1 版本中很普遍。

由于我在这个问题上找不到太多东西,我猜这是我创造的东西,而不是 Xcode 的系统问题。如果有人知道我可能在哪里扔了扳手,我会喜欢一些指示。此外,如果有人可以验证堆栈跟踪确实在 3.2.1 中正常运行,那也很有用。

0 投票
2 回答
2756 浏览

iphone - iPhone Instruments Leaks 让我很困惑。UIView 淡出动画会导致很多微小的泄漏

我正在尝试消除我的 iPhone 3.0 应用程序中的所有内存泄漏。CLANG 构建时所有灯都是绿色的,所以现在我正在使用 Instruments 进行分析。

这说起来容易做起来难,因为它表明在使用该应用程序几分钟后就有数百个 16 字节泄漏。它似乎主要在 UIKit 中,共同的部分是堆栈跟踪的末尾总是调用[NSObject respondsToSelector]

这是我可以忽略的事情还是所有这些泄漏的原因是什么?II 可以忽略它们,有没有办法在 Instruments 中将它们过滤掉,这样我就可以检测到真正的泄漏?

*编辑我设法找到导致问题的代码部分,但我仍然不明白为什么。我有一个带有一些文本的自定义 UIView 和一个在异步 http 请求期间可见的微调器。请求完成后,我在视图上调用此方法:

如果我只是简单地做

[self removeFromSuperView]如果没有 alpha 动画,则不会报告泄漏。

有关仪器的详细信息,请参见下面的屏幕截图。

仪器截图

示例堆栈跟踪:

还有一个:

0 投票
1 回答
571 浏览

objective-c - 代码行会导致仪器崩溃,但 Xcode 不会

这在仪器中运行时会导致崩溃,但在 Xcode 中不会。我缩小了问题范围,当这行代码处于循环中时会发生这种情况... NSMutableArray *blocks = [self getBlocksForX: thePoint.x]; 该方法返回一个 NSMutableArray,每次执行循环时我将其存储在块中,然后在循环结束时释放它。什么会导致仪器崩溃?

0 投票
1 回答
5285 浏览

iphone - iPhone 的核心数据工具

我正在尝试监控我的核心数据使用情况,但所有核心数据工具在 Instruments 中都是灰色的。Xcode 中的“使用性能工具运行”也无法使用它。它说 Core Data 仪器适用于 Mac,而在 iPhone 上不可用,但我听说有人在谈论使用它,Apple 文档中也提到了它。

我怎样才能让他们工作?

谢谢!

0 投票
1 回答
50 浏览

iphone - 对于不想编译他们的应用程序的人来说,是否有等效的工具?

我不想每次都编译我的应用程序我想在仪器中测试它是否有任何其他程序或方法可以利用这种好处而不必每次都编译?

0 投票
1 回答
619 浏览

iphone - NSMutableArray 和属性泄漏内存

我的最新应用程序处于内存泄漏清理模式,并且遇到了一些我无法解决的问题。

除了 1 个烦人的问题外,以下方法已被清理。Instruments 告诉我,我的名为 itemsToKeep 的 NSMutableArray 正在泄漏内存,此时我正在创建对象。任何关于我为什么泄漏内存的想法将不胜感激。

以下是关于 retainCounts 的一些注意事项: 进入方法:self.myList has retainCount = 1 退出方法:self.myList has retainCount = 2 and itemsToKeep has retainCount= 2. 我可以很容易地在最后做一个 [itemsToKeep release]两者都倒计时到 1,但应用程序在一段时间后崩溃(我想我知道为什么)。

有谁知道我怎样才能摆脱 itemsToKeep 的内存泄漏?

谢谢。

}

0 投票
2 回答
3128 浏览

iphone - iPhone 上应用程序的内存占用

由于内存不足异常,我最近有一个应用被应用商店拒绝。该应用程序不会泄漏内存,但它的基本内存占用似乎太高了。根据苹果发送的崩溃日志,它在内存中占用了大约 14000 页(主要是由于巨大的纹理)。不过有两件奇怪的事情:

  1. 在提交之前,我在 5 台设备上对其进行了严格测试,并且从未在其中任何一台设备上发生过这种崩溃。
  2. 我确实在拒绝后优化了纹理,并将它们带到了原始大小的一半左右(纹理内存消耗)。

我无法知道我的应用程序现在占用了多少页,除非我可以重现与苹果相同的崩溃(我永远无法)。有没有另一种方法可以找出我的应用程序的内存占用,这样我就可以确定它现在已经足够优化了。

我确实尝试过仪器,但是当我尝试通过我的 XCode 运行它时,我的应用程序崩溃了(我的 XCode 一定有问题)。但是当我直接在我的 iPhone/iPod 上运行它时,它可以完美运行。任何帮助找出我的应用程序在 iPhone 上的内存占用(如果有类似于 Windows 的任务管理器的东西),将不胜感激。

谢谢

编辑:

  1. 从 XCode 启动应用程序会在控制台中出现以下错误:“启动远程程序时出错:无法获取进程 553 的任务。”

  2. 使用活动监视器启动应用程序会出现以下错误:“目标过早终止,无法收集数据”

编辑2:

通过使用开发配置文件而不是分发配置文件,我能够使用 Activity Monitor 运行我的应用程序。但是现在活动监视器中有几个部分 - 使用的物理内存、实际内存、虚拟内存。我考虑其中哪一个。总结一下,我需要知道其中哪一个会导致 iPhone 抛出 Low Memory 异常。

0 投票
3 回答
841 浏览

ios - iPhone内存管理问题

我分离了一个调用我的方法的线程,它有一个while循环。即使我将它们标记为autoreleasepool,我还是手动释放对象,因为 while 循环可以继续运行一段时间。

问题是一段时间后,应用程序由于内存问题而崩溃。如果我查看 Instruments,我可以看到分配了一大堆 NSString,并在图中创建了通往天堂的阶梯。我没有释放什么?

0 投票
2 回答
115 浏览

iphone - 多次加载后出现内存泄漏

至少对我来说,这里有一个奇怪的情况:我有一个相对简单的程序,它从 Web 加载 XML 文件,解析它并将数据写入字典数组。每个字典代表表中的一行。该程序运行良好,如果我将模拟器连接到仪器并加载列表,则不会出现内存泄漏。

现在这是奇怪的部分:有一个按钮供用户重新加载列表。如果按下它,之前的数据被清除,新下载并解析的 XML 等等。如果我按下这个按钮,我仍然找不到内存泄漏。然而,如果我按两次,突然周围有泄漏。我很纳闷,以前没有的地方怎么突然出现泄漏(只有运行两次相同的代码才会出现泄漏)?例如,当我使用 Apple 的示例 XMLParser 的一部分时,这尤其奇怪,我的代码是他们的 1:1 副本,但是当我运行解析器两次时,仪器报告此代码中的泄漏。

我很高兴有任何帮助,我几乎不知道如何解决这个问题。代码应该没问题。我已经尝试过“构建和分析”,它也不会揭示我在仪器中看不到的任何东西。

一切顺利,罗宾

0 投票
2 回答
23600 浏览

iphone - Instruments ObjectAlloc:实时字节和总字节的解释

我正在使用 Instument 的 ObjectAlloc 工具来尝试了解我的应用程序 (iPhone) 正在执行的内存以及它执行的时间和地点。

我真的很想对这些统计数据进行基本解释:

  • 实时字节
  • #活的
  • #暂时性
  • 总字节数

当我试图计算出我的应用程序使用了多少内存时,我应该查看 Live Bytes 还是 Total Bytes?这包括泄漏的内存吗?什么是临时对象?

谢谢