Tag: 仪器

如何用仪器分析内存使用情况和性能?

在所有的仪器跟踪模板中,我喜欢使用: 僵尸来检测对象被过度释放的地方,非常适合debuggingEXEC_BAD_ACCESS错误。 泄漏检测内存泄漏。 核心animationw彩色混合图层检测帧率和半透明子视图,非常适合平滑UITableView滚动。 我总是听到有人说我们的应用程序的内存使用情况和性能。 为什么要分析内存使用情况和性能? 我的应用运行良好。 我该怎么做? 我已经使用Allocations,看到我的iPhone应用程序从1 MB的总分配内存开始,并在正常使用后增长到​​5 MB。 iPhone上的内存使用量是多less? iPad的? 苹果电脑?

从Xcode(和仪器)在iPhone上运行iPhone应用程序时出现问题

从Xcode(或Instruments)在iPhone上运行一个应用程序时遇到问题。 当我尝试运行应用程序时,出现错误消息,无法上传Xcode左下angular的XXX.app。 奇怪的是,它实际上传到iPhone的应用程序,但它不启动它(在这之后,我可以启动iPhone手机上的应用程序)。 所以,如果不能从Xcode或乐器启动应用程序,我就没有机会进行debugging/性能testing。 有什么可能会出错的build议吗? iPhone控制台显示给我这个: Thu Oct 1 14:25:18 unknown mobile_installationd[1976] <Error>: 00808e00 install_embedded_profile: Skipping the installation of the embedded profile Thu Oct 1 14:25:23 unknown SpringBoard[25] <Warning>: Reloading and rendering all application icons. 其他应用程序正常工作 我已经尝试了两个iPhone(都是3.1),结果相同。 我在SnowLeopard上运行Xcode 3.2。 问候

在没有仪器的OS X上logging性能监视器计数器(PM事件)的值

在Xcode的仪器中,有一个称为Counters的工具,用于显示CPU提供的低级计数器信息,例如执行的指令数量或caching未命中次数: 这与Linux 2.6.32中引入的Linux系统调用perf_event_open类似。 在Linux上,我可以使用perf_event_open然后在我感兴趣的代码段中开始/停止分析。我想在OS X上logging相同types的统计信息:计算指令(等)的代码需要,并以自动化的方式获得结果。 (我不想使用仪器GUI来分析数据。) 是否有任何API允许(例如:使用dtrace或类似的)? 从一些search,听起来像私人的AppleProfileFamily.framework可能有必要的钩子,但目前还不清楚如何去链接或使用它。

使用仪器 – 泄漏与设备

我开始在iPhone 3G上使用Instruments-Leaks。 当我尝试运行iPhone上的仪器的应用程序,我获得 Target failed to run: Remote exception encountered: 'Failed to get task for pid 280' 想法? 我唯一一次用乐器运行应用程序成功运行得非常慢,我无法testing它。 在设备上运行应用程序寻找泄漏的步骤是什么?

仪器自动化追踪只允许一个目标连接?

我为我的iOS应用程序创build了一个简单的javascript,我想在通过USB连接到一台主机的Mac机器上的多个iOS同时运行。 从命令行启动连接到iPhone乐器工作正常,但如果我尝试启动连接到iPad的第二个乐器,第一个乐器会话将挂起。 在第一次仪器会议结束后,我会看到下面的一行: 已停止:由于设备断开连接,脚本停止 在对这个主题进行了广泛的研究之后,我没有在这个短语中得到任何结果,我一直在试着去读“苹果手册指南”的含义: select“所有进程”,“附加到进程”或“目标”菜单中的“select目标”时,乐器将所有乐器的默认目标设置为您select的程序。 但是,有些情况下,您可能需要为每个乐器设置不同的目标。 您可能想要同时采样两个不同的程序,例如,使用采样器工具。 如果你有一些能跟踪所有过程的工具,那么你可能希望他们这样做,而单一过程工具只需要一个过程。 我想知道如果Automation.tracetemplate是一个单进程的仪器,并且如果另一个进程启动相同的自动化追踪,然后第一个被篡夺。 任何build议将不胜感激,因为这是在多个iOSDevices运行我们的时间密集型自动化testing的主要iOSDevices 。 2012年3月27日更新 以下内容来自向苹果提交错误(developer.apple.com/bugreporter)后收到的电子邮件: 我从一个UI自动化工程师那里听到了。 UI自动化是一个单一的过程仪器。 因此,您不能在多个设备上同时使用它。

无法在乐器中启动我的应用程序:至less有一个目标无法启动

我有我的所有代码签名权利正确设置。 在手机上运行应用程序很好,但是在乐器中启动应用程序会给我一个错误信息: Error Starting Recording At least one target failed to launch; aborting run 接着: Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (ie iOS Developer) 任何想法,我可以阻止这种情况发生? 在我的iPad上不会发生。

在使用Instruments分析iPhone应用程序时缺less符号名称

我正在通过命令行编译IPhone应用程序(因此没有涉及到XCode选项),我无法在使用Instruments进行分析时显示符号名称。 我尝试了几个标志,如-gdawrf-2和-g没有任何成功。 我也尝试使用dsymutils生成一个.dSYM文件,但我不知道我应该如何使用它,以至于失败。 任何帮助将不胜感激!