标签: xcode-instruments

仪器4.1对从Xcode 4.1启动的项目没有反应,直到按下Cmd-Tab

如果我打开仪器并选择标准应用程序(例如邮件或MS Word),则没有问题.如果我在Xcode中并且我转到产品>配置文件(或按Cmd+ I),它将启动Instruments,允许我选择模板,并加载标准屏幕.然后向下箭头开始向右追踪,iOS模拟器启动程序.但是,仪器中没有绘制任何内容.无论应用程序在做什么,它都不会显示任何变化.我无法点击仪器中的任何内容:没有菜单,无法停止录制,无法打开标签等.

我随机发现,如果我点击Cmd+ Tab,乐器将开始正常运行.这对我来说真的很奇怪.要么它是一个错误,要么是我对如何操作仪器的一个漏洞.

xcode instruments xcode4 xcode-instruments

51
推荐指数
1
解决办法
1335
查看次数

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

很难跟踪iPad应用程序中的崩溃.这个困难的真正原因是当应用程序失败时没有错误或堆栈跟踪.它就像Keiser Soze一样消失,"就像那样,噗.他走了."

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

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

混合包含CGContext*调用(DrawImage,SetBlendMode,SetAlpha等).NSOperation回调主线程中的委托来处理图像并将其设置为UIImage,因此它不应该是UI主线程冲突,但此时我不打算任何折扣.

我是否缺少一些Xcode技巧来追踪究竟发生了什么?或者至少可以更好地了解问题所在?

编辑我已经在仪器中运行应用程序跟踪内存使用情况,看到它在2MB左右稳定稳定.所以,不要认为这是一个记忆问题.但经过考虑,这块岩石稳定2MB似乎异常低落.有没有机会仪器没有获得CoreGraphics分配?

crash debugging xcode ios xcode-instruments

35
推荐指数
2
解决办法
2万
查看次数

UICollectionview加载单元格时滚动波动

我在我的应用程序中使用了一个库UICollectionView.细胞大小约为70,70.我使用ALAssetsALAssetLibrary我在其中已经存储在列表中的画廊.

我使用通常的模式来填充单元格:

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{

  mycell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
  mycell.imageView.image = [[UIImage imageWithCGImage:[alassetList objectAtIndex:indexpath.row] thumbnail]];
  return mycell;
}
Run Code Online (Sandbox Code Playgroud)

我的画廊滚动波涛汹涌.我不明白为什么会这样.我已经尝试添加一个NSCache来缓存缩略图(想想可能创建图像很昂贵),但这对性能没有帮助.

我希望用户界面像股票应用程序一样黄油.

我现在怀疑它可能是某种东西UICollectionViewCell prepareForReuse可能会阻碍dequeueReusableCellWithReuseIdentifier方法,但使用我无法找到的工具.

还有其他可能造成这种情况的事吗?是否有一种"更快"的方式以更快的方式UICollectionViewCelldequeue它们做准备?

objective-c ios xcode-instruments uicollectionview uicollectionviewcell

33
推荐指数
3
解决办法
4万
查看次数

我的应用程序冻结但没有出现错误

有没有人知道我有什么要检查我的应用是否会冻结?我的意思是,我可以在iPad屏幕上看到该应用,但没有按钮响应.我点击按钮时尝试调试代码,但我还没有看到任何东西.我正在阅读有关仪器工具的内容; 具体如何使用它们?

有谁能够帮我?我只需要解释如何使用这些工具.

debugging ios xcode-instruments

32
推荐指数
2
解决办法
2万
查看次数

泄漏仪器无法在xcode 8.3.2中运行

我跟了这个问题.所有乐器完美地工作,但泄漏的仪器不能正常工作最终给出错误我想用Leak Instrument,但它给我的错误是这样: - 发生错误试图捕捉泄漏数据,错误检索泄漏信息.,图像也在下面给出.请帮助我,提前谢谢

memory-leaks xcode-instruments xcode8

30
推荐指数
1
解决办法
4178
查看次数

Xcode 4 Instruments不显示源代码行

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

这个问题只发生在仪器中(到目前为止我尝试过CPU和OpenGL跟踪).Gdb很好地选择了调试符号.

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

到目前为止,我已经:

  • 改变Debug Information FormatDWARF with dSYM FileDWARF.
  • 改变Strip Debug Symbols During CopyYesNo.
  • 更改了构建方案以使用Debug构建而不是使用Instruments构建Release构建.

xcode debug-symbols xcode-instruments

28
推荐指数
2
解决办法
2万
查看次数

有没有办法从Instruments(XCode)的命令行实例中删除授权提示?

我目前正在通过bash脚本使用Instruments来启动命令行界面以启动Automation插件的运行.

使用4.2,这很好用,但是随着Xcode 4.3的升级,我现在被提示让授权用户"分析其他进程".即使授予了正确的凭据,也不会对用户进行实际身份验证.我收到以下错误:

Failed to authorize rights (0x20) with status: -60007.
2012-02-27 19:30:37.232 instruments[54151:1c03] Failed to connect to local pid watcher     service: (os/kern) failure
Run Code Online (Sandbox Code Playgroud)

即使身份验证失败,自动化插件也会执行,但这需要我的脚本让物理保姆输入凭据,这在很多方面都会破坏这些命令行运行的目的.是否可以将用户详细信息添加为参数?或者是否有其他方法可以跳过此提示而无需按键人员?

- 编辑 -

当您尝试首次从GUI运行UIAutomation测试时,会出现此授权对话框.

在此输入图像描述

提起雷达rdar:// 10945962.

- 编辑 -

在GUI中应答授权对话框后,提示将停止显示在命令行上.然而,这种解决办法似乎不是一个"答案".

instruments ios xcode-instruments ios-ui-automation xcode4.3

28
推荐指数
4
解决办法
2万
查看次数

iOS的乐器:为什么Memory Monitor不同意Allocations?

从这些从乐器拍摄的屏幕中可以看出,Allocations认为我的应用程序(Ongo)仅使用7.55 MB的内存,而Memory Monitor则表示53.30.此外,自由系统内存与应用程序使用的内存量几乎没有任何关联.有谁知道为什么这两个工具之间存在如此大的分歧?另外,是否可以找到低系统内存的来源或如何防止它快速耗尽?我的应用程序似乎没有泄漏内存,但不知何故,它耗尽了系统资源.

谢谢

仪器YU Lie?

iphone memory-management ipad ios xcode-instruments

26
推荐指数
2
解决办法
8305
查看次数

使用仪器命令行实用程序启动特定硬件版本的iOS模拟器

我正在使用Apple提供的UIAutomation - > Xcode - > instruments.我有我的Javascripts和整个自动化使用仪器命令行基础设施运行.

我还有一项额外的任务是在先前版本的模拟器(iOS 6.0,5.1,5.0,4.3.2)上运行自动化,以提供更好的覆盖.

但我不知道如何指定哪个版本的iOS模拟器可供选择.默认情况下,它总是选择lates iOS模拟器.

我试过以下的事情:

  1. 指定保存模拟器的路径,其中包括模拟器的版本路径.
  2. 制作自定义自动化模板跟踪并尝试使用它.
  3. 使用defaults write com.apple.simulator实用程序更改了iOS模拟器的默认版本.

ios ios-simulator xcode-instruments ios-ui-automation

25
推荐指数
2
解决办法
4400
查看次数

MacOSX Instruments用于分析Python代码

MacOSX Xcode Instruments非常适合分析本机代码.但是,我的callstacks中还有很多Python调用.我可以以某种方式使仪器具有Python感知能力吗?

我能想到的一个解决方案是,当它看到一些PyEval_EvalFrameEx框架时,它在其局部变量/参数中查找以分隔不同的Python调用并向我显示一些调用信息.

我不是在问一个Python分析器.我想描述我的本机代码.但是在这个本机代码分析中,我想添加一些进一步的智能来分析和翻译Python堆栈帧.

python macos instruments xcode-instruments

25
推荐指数
1
解决办法
2846
查看次数