标签: instruments

测量库调用和回调之间的时间

嗨:在iPhone应用程序中,我使用一个库(C++),它在计算完成时异步进行回调.现在我想测量花费的时间 - 包括调用库的方法 - 直到进行回调.有没有可能使用Apple的Instruments应用程序执行此操作?什么是最佳做法?

c++ iphone performance objective-c instruments

2
推荐指数
1
解决办法
899
查看次数

仪器内存泄漏iphone

我几天前发布了这个问题,但它非常混乱,我的问题不是很清楚所以我删除了它.我一直在挖掘,内存泄漏仍然存在.希望这种尝试更加清晰.

首先,我运行静态分析器,它报告没有内存泄漏.

然后我运行了仪器,它指出了这行代码中的内存泄漏.据我所知,没有内存泄漏.

featured=[[UILabel alloc]initWithFrame:CGRectMake(130,15, 200, 15)];
    //[featured setFont:[UIFont UIFontboldSystemFontOfSize:20]];
    featured.font = [UIFont boldSystemFontOfSize:20];
    featured.backgroundColor= [UIColor clearColor];
    featured.textColor=[UIColor blackColor];    
    featured.text= @"Featured Promo";


    [self.view addSubview:featured];
    [featured release];
    featured=nil;
Run Code Online (Sandbox Code Playgroud)

如果我注释掉上面的代码,仪器报告另一个代码块中的另一个内存泄漏,其中没有可识别的泄漏.

UIButton   *populartbutton = [[UIButton buttonWithType:UIButtonTypeRoundedRect]];    
populartbutton.frame = CGRectMake(112, 145, 90, 22); // size and position of button
[populartbutton setTitle:@"Popular" forState:UIControlStateNormal];
populartbutton.backgroundColor = [UIColor clearColor];
populartbutton.adjustsImageWhenHighlighted = YES;   
[populartbutton addTarget:self action:@selector(getpopular:) 
       forControlEvents:UIControlEventTouchUpInside];


[self.view addSubview:populartbutton];
Run Code Online (Sandbox Code Playgroud)

仪器也说

负责任的图书馆=核心图形

负责任的框架= open_handle_to_dylib_path

这是堆栈跟踪.


 53 Promo start
  52 Promo main /Users/..2/main.m:14
  51 UIKit UIApplicationMain
  50 UIKit -[UIApplication _run] …
Run Code Online (Sandbox Code Playgroud)

iphone memory-leaks instruments

2
推荐指数
1
解决办法
5581
查看次数

Xcode,Instruments:如何找到越来越多的泄漏对象?

很难解释我在主题行中需要什么.如果您有更好的想法,请随时编辑它.

问题如下:

iOS应用程序一次只能处理一个文档.每次关闭文档并打开一个新文档,即使它是相同的文档,内存使用量也会不断增加,并且总是以相同的数量增加.

所以有泄漏.代码不会释放(释放)某些东西.也许它是一个数组,它添加对文档项的引用,并且永远不会被清除,尽管它应该.

当然,泄漏工具在这里没有帮助,因为它都是"正确的"(它只能找到没有所有者的分配).

我如何使用Instruments(或dtrace)现在找到这个bugger?如果我可以简单地在仪器中识别其中一个未添加的对象,那将会有所帮助,其余的将很容易.

到目前为止,我一直在使用Allocations工具,将检查范围设置为旧文档关闭和新文档打开时的时间.尽管如此,这显示了数以千计的对象,其中只有一个是从前一个文档遗留下来的对象,尽管它不应该仍然存在.我需要识别的那个对象.

我想我需要的是Allocations工具中的一个功能,它减去刚刚添加的所有分配,并且还减去启动后存在的所有分配 - 剩下的是由新文档创建但从那时起未发布的项目.有没有办法获取收集的对象集合,将它们分组并设置这样的操作?可能不是.

每次打开文档时都会创建大约20000个对象,并且涉及大约50个源文件,通过查看源代码或手动检查所有对象是不可行的.

哦,静态分析仪也无济于事.

iphone xcode memory-leaks instruments ios

2
推荐指数
1
解决办法
1759
查看次数

Foundation的库NSCFString中的内存泄漏

我正在开展一个需要极度关注内存的项目.我在仪器上运行模拟并显示下一次泄漏:

泄露对象:NSCFString
大小:80字节
负责图书馆:基础
负责框架:NSPlaceHolderString

我搜遍了我的所有代码,并没有明确地创建一个NSCFString.

提前致谢.

iphone memory-leaks objective-c instruments foundation

2
推荐指数
1
解决办法
2050
查看次数

仪器 - 多个设备执行

我可以使用命令行为单个设备/模拟器运行仪器,但我需要在两个设备上运行它.手动我可以通过打开两个新的仪器窗口并制作两个js副本并导入它来实现这一点.但我需要使用命令行来实现这一目标.任何人都可以帮助我实现这个目标,还是有人有相同的指导方针?

instruments

2
推荐指数
1
解决办法
1699
查看次数

如何以编程方式启动/停止仪器(时间分析器)?

有没有办法以编程方式启动/停止仪器分析?我只需要以可靠的方式分析我的 OS X 代码的特定部分,但我似乎无法找到任何有关 Instruments 的文档,这些文档可能会告诉我如何做到这一点。对于 CHUD/Shark,有一个编程 API 和一个命令行工具来支持这一点,但我在任何地方都看不到 Instruments 的等效项?FWIW 我发现 2009 年左右的一些旧论坛帖子哀叹该领域缺乏 Instruments 功能,但最近没有。

macos xcode profiling instruments xcode-instruments

2
推荐指数
1
解决办法
1085
查看次数

有没有办法同时使用仪器启动自动化和分配tracetemplate?

我正在尝试使用自动化仪器和分配工具来分析我们的iOS应用程序的内存使用情况.我们的想法是使用自动化来驱动用例,而分配工具则在后台记录一些内存数据.我想知道是否可以同时使用仪器启动自动化和分配tracetemplate?这样我就可以在自动化完成后检查Allocations记录的数据.

任何指针都会有所帮助.

memory instruments ios ios-ui-automation

2
推荐指数
1
解决办法
450
查看次数

Xcode 6.3不再打开仪器了

我将我的Xcode从6.2更新到6.3,现在仪器不再工作了,它正在请求一个模板,无论选择哪一个都无关紧要,它无法打开它. 选择仪器后的对话框 对话框显示它Xcode无法打开模板

它发生在iPhone 6+上的iOS 8.2和模拟器(ios 8.2和8.3)上.

更新我还将我的手机更新到iOS 8.3并尝试使用Xcode 6.4Beta,我仍然遇到同样的问题.

xcode instruments

2
推荐指数
1
解决办法
510
查看次数

时间分析器不显示功能

在教程中,当有人调试应用程序时,他们会看到如下内容:

在此输入图像描述

但是当我开始录制时,按红色按钮:

在此输入图像描述

我看到这个...

instruments ios swift

2
推荐指数
1
解决办法
2770
查看次数

如何使用仪器运行 Xcode UnitTest

我在 Xcode 中有一个应用程序,还有单元测试。当我运行我的单元测试(项目 - > 测试)时,我在控制台中收到以下错误。

malloc: *** error for object 0x600000490e50: Invalid pointer dequeued from free list
*** set a breakpoint in malloc_error_break to debug
Run Code Online (Sandbox Code Playgroud)

我知道我的应用程序中存在内存管理错误,我正在努力解决这个问题。但是问题来了:

我知道如何使用仪器运行我的应用程序,即打开仪器并选择模拟器然后安装应用程序。但是我找不到在仪器中运行单元测试的方法。我试图将我的单元测试添加到方案中,但它似乎不起作用。

希望有人能帮我解决这个问题。请注意,我并不是在寻求有关如何解决此 malloc 错误的帮助,相反,我只是想找出一种使用仪器工具运行单元测试的方法。然后我可以自己处理错误。

提前致谢。

xcode unit-testing instruments ios xctest

2
推荐指数
1
解决办法
341
查看次数