问题标签 [xcode-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 投票
1 回答
287 浏览

xcode-instruments - 对 Apple Instruments 工具的反馈

我想知道是否有一些关于使用仪器工具的视频教程和/或带有良好插图的良好分步教程。

0 投票
6 回答
23997 浏览

ios - 没有错误或堆栈跟踪的 iOS 崩溃

很难追踪 iPad 应用程序中的崩溃。困难实际上源于应用程序失败时不存在错误或堆栈跟踪这一事实。它就像 Keizer Soze 一样消失了,“就这样,噗。他走了。”。

我已经在模拟器和设备上复制了崩溃。设备日志为零,控制台中没有任何内容等。

我知道在崩溃期间,一些CoreGraphics操作发生在后台线程中。通常,三个左右的 NSOperations 正在踢一些图像混合。

混合由 CGContext* 调用(DrawImage、SetBlendMode、SetAlpha 等)组成。NSOperation 回调到主线程中的委托来处理图像并将其设置为UIImage,因此它不应该是 UI 主线程冲突,但我此时并没有打折任何事情。

我是否缺少一些 Xcode 技巧来准确追踪正在发生的事情?或者至少可以更好地提示问题出在哪里?

编辑我已经在 Instruments 中运行应用程序跟踪内存使用情况,发现它在 2MB 左右非常稳定。所以,不要认为这是一个内存问题。但经过考虑,这个稳定的 2MB 似乎异常低。Instruments 是否有可能没有获得 CoreGraphics 分配?

0 投票
8 回答
18667 浏览

xcode - Xcode 4 Instruments 不显示源代码行

我刚开始使用 Xcode 4,发现无论我如何在项目中设置调试符号,Instruments 都拒绝显示与我的代码对应的堆栈跟踪项的源代码行。In 仅显示十六进制偏移量并将我的可执行文件标识为拥有模块。打开“源位置”也会产生空白。即使对于 Xcode 生成的骨架 OpenGL ES 项目也会发生这种情况(文件 → 新建 → 新项目... → iOS → 应用程序 → OpenGL ES 应用程序)。

这个问题只发生在 Instruments 中(到目前为止我已经尝试过 CPU 和 OpenGL 跟踪)。Gdb 可以很好地提取调试符号。

我是否必须做一些特别的事情才能在 Instruments 中查看堆栈跟踪的源代码,或者这是 Xcode 4 中的错误?

到目前为止,我已经:

  • Debug Information Format从更改DWARF with dSYM FileDWARF
  • Strip Debug Symbols During Copy从更改YesNo
  • 将构建方案更改为使用 Debug 构建而不是带有 Instruments 的 Release 构建。
0 投票
4 回答
8563 浏览

iphone - 使用 iOS 的仪器:为什么内存监视器不同意分配?

从 Instruments 的屏幕截图中可以看出,Allocations 认为我的应用程序 (Ongo) 仅使用 7.55 MB 内存,而 Memory Monitor 显示为 53.30。此外,可用系统内存与应用程序使用的内存量几乎没有相关性。有谁知道为什么这两个工具之间存在如此大的分歧?此外,是否有可能找到系统内存不足的根源,或者如何防止它这么快耗尽?我的应用似乎没有泄漏内存,但不知何故它耗尽了系统资源。

谢谢

仪器宇烈?

0 投票
1 回答
647 浏览

ipad - xcode仪器问题

我尝试使用 xcode 中的仪器应用程序来找出我的应用程序中的一些泄漏,我可以在模拟器上运行我的应用程序时使用它,但问题是,当我尝试使用仪器在设备上运行我的应用程序时,它给出我这样警告

目标无法运行:遇到远程异常:“可执行文件“MyApp”已经作为进程 97 运行,该进程是从“Xcode 调试器”进程启动的

有什么问题吗?我不知道我之前做了什么错误的步骤,有人可以帮助我吗?谢谢你

0 投票
0 回答
141 浏览

debugging - 我可以对已经在我的设备上运行的应用进行快照吗?

我真的很想查看与我的应用程序相关联的堆,该应用程序已经在我的设备上运行了几天。我不想退出并从 Xcode 或 Instruments 重新启动应用程序。连接设备后,我尝试了 Instruments 中的“附加到进程”和“选择目标”菜单选项,但这些选项全部显示为灰色,当我单击它们时没有任何反应。单击“标记堆”也无济于事。

有没有办法查看设备上当前正在运行的应用程序的堆?我只想看看当前“活着”的对象类型的相对比例;我不需要查看堆栈跟踪(我认为这可能是不可能的)。

0 投票
1 回答
529 浏览

iphone - Mac 的“仪器”应用程序的“控制台窗格”中哪些命令有效?(例如,在仪器中)

我正在运行 Mac OS “Instruments”应用程序,使用“Leaks Instrument”来监控 iPhone 应用程序。主窗格标题为“Leaked Blocks”,但如果您单击它,您可以选择三个:“Leaked Blocks”、“Call Tree”和“Console”。点击“控制台”。

您现在有一个空白窗格...单击它并点击。就我而言,我得到:

富 (4259) >

这是我的应用程序名称,大概是它运行的 PID。

我可以输入命令/文本(例如,ls、帮助、退出)……它们会在一段时间后得到回显,但没有其他任何反应。

即,它看起来像一个命令提示符,但我不知道我可以在这里给出什么样的命令!似乎不接受 gdb 命令,也不接受“帮助”。在 Apple 的文档中找不到此功能的提及。

请注意,如果我选择不同的工具,例如“分配”,它也具有相同的控制台窗格......当我输入文本时具有相同的“无效”。

我希望它拥有的任何命令(a)都很有趣,并且(b)对我调试内存泄漏有用。

谢谢,斯坦 sieler@me.com

0 投票
1 回答
2654 浏览

iphone - UIAutomation 嵌套的可访问性元素从层次结构中消失

我有一个带有两个子视图的视图,一个按钮和一个图像,我打开可访问性并在子视图上设置标签,我可以通过调用查看层次结构

例如,我得到以下信息:

1 个窗口

2 我的观点

3 我的按钮

3 我的形象

如果我随后打开可访问性并为我的父视图设置标签,我将无法再在层次结构中的任何位置看到我的按钮和图像。

我只是得到:

1 个窗口

2 我的观点

为什么我的观点消失了?

0 投票
2 回答
6690 浏览

crash - xcode 工具导致应用程序崩溃

我正在使用 xcode Instruments 来跟踪分配和泄漏。我的应用程序崩溃了。仅在 Instruments 下运行常规调试或发布版本时,它不会崩溃:

任何想法都非常感激地收到....

0 投票
2 回答
193 浏览

iphone - 非游戏 iPhone 应用程序需要多少 FPS?

我用仪器测试了我的应用程序: 在此处输入图像描述

滚动表格视图时,大约为 20-50 fps,(更像是 25 平均)。这够好吗?我重用了表格视图单元格并做了很多优化。