标签: instruments

为什么我的代码会泄漏?

UPDATE2我想我找到了泄漏的真正来源。我有一些业务对象具有我忘记发布的字符串属性。这些字符串属性是从我的自定义 xlm 节点对象复制而来的,在此处创建 (KGYXMLNode) 我不明白为什么在这里报告泄漏而不是我的自定义类。我的 NSString 属性是copy和不是retain.

更新:我认为这是 Instruments 中的错误或其他东西,或者它不再神奇地泄漏,但是由于 xcode 4 它没有显示此泄漏。

您好,根据仪器,我在以下代码中有泄漏。我已经围绕某些 libxml 函数构建了一个 Objective-c 包装器,以便能够使用 xpath 解析 xml 文档,并且在这种方法中,我为我的自定义节点对象设置了innerText。


-(void) SetInnerTextForNode: (xmlNodePtr) node : (KGYXMLNode *) obcNode
{
  if ((node) && (node->children))
  {
    for (xmlNodePtr pnode = node->children; pnode != NULL; pnode = pnode->next)
    {
      if (pnode->type == XML_TEXT_NODE)
      {
        xmlChar *content = pnode->content;
        NSString *innerText = [[NSString alloc] initWithUTF8String: (char *)content];
        NSString *trimmedText = [innerText stringByTrimmingCharactersInSet: trimCharSet];
        if (trimmedText.length > 0) …
Run Code Online (Sandbox Code Playgroud)

iphone memory-leaks objective-c libxml2 instruments

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

如何通过 Instruments 中的时间分析器查看正在运行的 OS X 程序的输出?

由于某种原因,我的 OS X 应用程序在使用时间分析器时崩溃,但在其他情况下不会崩溃。我想查看程序的 stderr 和 stdout 输出,以尝试诊断问题所在。有任何想法吗?

profiler xcode instruments

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

尽管没有强引用,但内存泄漏?

我正在进行性能测试,尝试测量NSOutlineViewMac 应用程序中重要部分的渲染性能。在此过程中,我循环多次,创建视图,将其嵌入虚拟窗口中,并将其渲染为图像。我概括了一点,但大致是这样的:

// Intentionally de-indented these for easier reading in this narrow page
class MyPerformanceTest: XCTestCase { reading
func test() { 
measure() {
// autoreleasepool {

    let window: NSWindow = {
        let w = NSWindow(
            contentRect: NSRect.init(x: 100, y: 100, width: 800, height: 1200),
            styleMask: [.titled, .resizable, .closable, .miniaturizable],
            backing: .buffered,
            defer: false
        )
        w.tabbingMode = .disallowed
        w.cascadeTopLeft(from: NSPoint(x: 200, y: 200))
        w.makeKeyAndOrderFront(nil)
        w.contentView = testContentView // The thing I'm performance testing
        return w
    }()

    let bitmap = …
Run Code Online (Sandbox Code Playgroud)

instruments nsoutlineview appkit automatic-ref-counting swift

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

如何确定此内存泄漏的来源?

如何在代码中确定内存泄漏的来源?除了我的应用程序中的"main"函数之外,它没有引用任何内容.

泄漏图像http://i28.tinypic.com/345iogl.jpg

iphone memory-leaks objective-c instruments

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

为什么仪器"泄漏"模板没有在我的iOS应用程序上发现我的内存泄漏?

我正在深入研究iOS开发并熟悉这些工具.在每天结束时,我在我的应用程序上执行"Run with instruments tool - > Leaks"以检查我当天可能实施的任何内存泄漏.它似乎很少发现任何泄漏,虽然我想我只是一个自然的iOS程序员,但我拒绝相信;)

无论如何,我刚刚在我的代码中找到了我认为是内存泄漏的东西,并且它没有被仪器捕获.我有这行代码......

gkSession = [[GKSession alloc] initWithSessionID:@"testID" displayName:@"Temp Display Name" sessionMode:GKSessionModeClient];
Run Code Online (Sandbox Code Playgroud)

我发现release我的代码中没有调用任何地方.我的问题是......

  1. 这是内存泄漏吗?
  2. 如果是这样,仪器可能没有抓住它的原因是什么?

我明显担心的是我的代码中有内存泄漏而且Instruments没有捕获它们.

非常感谢您的帮助!

iphone memory-leaks instruments ipad

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

仪器和泄漏

我正在测试我的应用程序而且我一直在接收这些泄漏,但它们都没有在我的代码中.我想,还有其他人有这些问题吗?

__NSCFDictionary        0x5f8cfe0   48  AudioToolbox    SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)

Malloc 32 Bytes     0x5f83a00   32  AudioToolbox    SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)

Malloc 48 Bytes     0x5f839d0   48  AudioToolbox    SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)

Malloc 32 Bytes     0x5f839b0   32  AudioToolbox    CreateDictionaryForDevice(unsigned long)

Malloc 32 Bytes     0x5f83990   32  AudioToolbox    CreateDictionaryForDevice(unsigned long)
__NSCFDictionary        0x5f83960   48  AudioToolbox    CreateDictionaryForDevice(unsigned long)

Malloc 32 Bytes     0x5f83940   32  AudioToolbox    SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)

__NSCFArray     0x5f838b0   32  AudioToolbox    SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒,谢谢......是的...一个新手.

iphone debugging memory-leaks instruments ios

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

检查iOS应用程序在仪器中使用的内存

我想确保我正确地读取分配插件.我正在测试一个接收内存警告1,2和3的iPad应用程序.我想知道我的应用程序当前耗尽的内存,我认为它必须是"Live Bytes"列?这标志着All Allocations为2.42 MB我觉得它很低.

其他专栏报道了什么?#Transitory,整体字节?此外,如果我的应用程序仅使用3 MB内存,如果我在没有释放的情况下获得内存级别3警告,它是否会被杀死?

谢谢.

在此输入图像描述

memory instruments ipad ios

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

即使在运行HelloWorld_IPhone monotouch时,仪器中也会泄漏物体

我的应用程序永久收到内存警告,我真的找不到导致它的原因.即使我将应用程序剥离到最低限度,我也遇到了严重的泄漏.所以我想从单触摸示例编译默认的HelloWorld_IPhone应用程序,看看我是否得到了相同的泄漏.事实证明我做到了.真让我困惑.

在此输入图像描述

应用程序启动后会出现泄漏(红色条填满整个列).

泄露的对象:Malloc 16 Bytes,Responsible Library:HelloWorld_IPhone,负责框架:mono_dl_open

我的问题是这是否正常或我是否遗漏了什么?

编辑:在调试模式下在我的设备上运行TweetStation应用程序时仪器输出的屏幕截图!与我的应用程序结果相同.肯定有些事情不对吗?在我的设备上运行TweetStation应用程序时,仪器输出的屏幕截图

memory-leaks memory-management instruments xamarin.ios ios

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

仪器显示内存泄漏 - Xcode 5/iOS7

我有以下代码:

NSString *bgImageName = [[Useful instance] getRootviewBackgroundImageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:bgImageName]];
imageView.clipsToBounds = YES;
CGRect rc = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[imageView setFrame:rc];
[self.view insertSubview:imageView atIndex:0];
[imageView release];
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,仪器显示100%和第2行的内存泄漏,而在xcode 4.6中并非如此.我现在正在osx 10.8.5上使用xCode 5

看来,我正确地释放了UIImageView在第6行的视图中插入的已分配(第7行),所以我无法看到为什么intruments会引发内存泄漏警告.

有人知道为什么机构会(在我看来)提出错误的信息吗?

编辑:这是仪器截图与我泄露的对象的分配 - 摘要:

仪器 - 分配

UIKit和QuartzCore被保留我的对象,这是我的泄漏原因UIImageView(或我错了这个假设呢?).

UIImageView被插入到视图(a UIViewController)中,该视图在我的xib文件中引用.UIImageView在将其添加到'self.view'之后,如何控制我添加的内容?

xcode objective-c instruments ios

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

XCode 7.2无法查看内存分析信息/设备在仪器中处于脱机状态

我正在使用Objective C++库(一些.mm文件)运行iOS演示,并希望通过Instruments分析应用程序的内存使用情况.但是,我看到调试选项卡不显示任何内存信息.

在此输入图像描述

在此输入图像描述

试图在仪器中分析应用程序会显示我的设备,但它显示为灰色并表示它处于脱机状态

在此输入图像描述

如何修复我的XCode以允许对该项目进行内存调试/分析?它与使用Objective C++库有什么关系吗?

c++ xcode memory-management objective-c instruments

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