标签: instruments

XCode Instruments没有使用BAD_ACCESS检测Zombie

通常,当我尝试修复BAD_ACCESS错误时,我打开Xcode Instruments并测试以查找导致错误的僵尸.

我用iPhone 5.0模拟器运行我的应用程序.它以BAD_ACCESS停止,但是仪器不会标记任何僵尸.

当我使用iPhone 4.3模拟器运行应用程序时,行为完全不同.在这种情况下,应用程序运行良好,没有任何BAD_ACCESS.

我正在使用XCode 4.2.

可能会发生什么?

这是回溯:

(gdb) bt
#0  0x0167209b in objc_msgSend ()
#1  0x00002ff2 in -[BSViewController viewDidAppear:] (self=0x1, _cmd=0x12ddd81, animated=1 '\001') at BSViewController.m:42
#2  0x012616f8 in __CFStringAppendFormatCore ()
#3  0x011acb6c in _CFStringCreateWithFormatAndArgumentsAux ()
#4  0x0122bce8 in _CFLogvEx ()
#5  0x00b26b63 in NSLogv ()
#6  0x00b26ad5 in NSLog ()
#7  0x00009ffc in -[BSCTView buildFrames] (self=0x6a55f80, _cmd=0xd541) at BSCTView.m:96
#8  0x0000a5da in -[BSCTView layoutSubviews] (self=0x6a55f80, _cmd=0x66a6c4) at BSCTView.m:124
#9  0x001ff301 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()
#10 0x01284e72 in …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c instruments xcode4.2

0
推荐指数
1
解决办法
606
查看次数

iOs高内存使用率

现在我有一个ARC项目,它使用超过6米的内存推送聊天ViweController(UItableview与自定义单元格).我不知道为什么会这样.最有趣的是我无法确定它需要太多内存的原因.这是我的仪器截图:

在此输入图像描述

在更详细的视图中,它看起来像:

在此输入图像描述

我认为libRip.A.dylib需要太多内存.你有什么想法吗?

请解释一下,什么是奇怪的libRip.A.dylib库?

memory-management instruments ios

0
推荐指数
1
解决办法
2058
查看次数

为什么Instruments在以下代码中显示如此多的泄漏?

- (NSArray *) makeKeyValueArray: (NSArray *) arr
{
    NSMutableArray *result = [[NSMutableArray alloc] init];
    for(int i = 0; i < [arr count]; i++)
    {
        [result addObject:[[KeyValue alloc] initWithData:[arr objectAtIndex:i] :[arr objectAtIndex:i]]];
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

仪器在上面的代码中显示188个泄漏,为什么?有人可以向我解释一下吗?

memory-leaks objective-c instruments

0
推荐指数
1
解决办法
74
查看次数

如何在iOS模拟器中使用Instruments Automation?它无法附加或找到iOS模拟器

如何附加到当前在iOS模拟器6中运行的应用程序,或者使用Xcode Instruments中的Automation启动应用程序?我正在使用Xcode 4.5.我看到我的应用程序正在模拟器中运行.如果我启动Instruments,我选择"iOS模拟器 - >自动化"模板.然而,顶部的下拉告诉我在"附加到进程"下"当前工具不允许附加",并且在使用"选择目标"时,我从应用程序文件夹中显示了一个应用程序列表,但它们都不是iOS模拟器,因为它在Xcode.app包中.它在设备上运行得很好.

有任何想法吗?

xcode automation instruments ios

0
推荐指数
1
解决办法
2955
查看次数

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

为什么仪器说这个代码泄漏了?

我有一个由Erica Sadun创建的类代码片段,仪器说它正在泄漏:

- (void)cacheBeginPointForTouches:(NSSet *)touches
{
    if ([touches count] > 0) {
        for (UITouch *touch in touches) {
            CGPoint *point = (CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch);
            if (point == NULL) {
                point = (CGPoint *)malloc(sizeof(CGPoint));
                CFDictionarySetValue(touchBeginPoints, touch, point);
            }
            *point = [touch locationInView:self.superview];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

仪器指向

 point = (CGPoint *)malloc(sizeof(CGPoint));
Run Code Online (Sandbox Code Playgroud)

作为泄漏线.

因为这个malloc的东西对我来说并不熟悉.我知道它分配内存,但由于我从未使用C,C++和其他C语言,malloc和我不是熟人.

另一个我不明白的问题是为什么她在"点"之前加上一个星号

*point = [touch locationInView:self.superview];
Run Code Online (Sandbox Code Playgroud)

那么,你是否看到代码有问题以及为什么乐器会说它在泄漏?关于星号的解释是一个奖励!:)

谢谢.

iphone instruments ipad

-3
推荐指数
1
解决办法
353
查看次数