gpt4 book ai didi

objective-c - 无法弄清楚内存泄漏从何而来

转载 作者:行者123 更新时间:2023-12-03 16:25:37 24 4
gpt4 key购买 nike

我是一个 cocoa 新手,我根本不明白为什么使用此代码在仪器中的泄漏图中会出现峰值。这似乎是一个小泄漏(即 16 字节,泄漏的对象是“Generalblock-16”;这是唯一的泄漏对象,并表示 Self 100%),并且无论我是否只选择 1 个文件或12,000 个文件。我双击了仪器的扩展详细信息 View 中显示的堆栈跟踪的每一行,但它没有引导我到代码中的任何行。

预先感谢您为此提供的任何帮助。

Y.V.

P.S.:如果我的代码没有任何问题(我对此表示怀疑),并且泄漏只是一个错误或与我的代码无关的东西,那么按原样使用此代码是否安全?它会给我的应用程序带来不稳定或导致崩溃或类似的情况吗?

@implementation AppController

-(IBAction)openTheOpenPanel:(id)sender
{
NSOpenPanel *openThePanel = [NSOpenPanel openPanel];
[openThePanel setAllowsMultipleSelection:YES];

if([openThePanel runModal] == NSOKButton)
{
NSArray *allTheFiles = [openThePanel filenames];

int theNumberOfFiles = [allTheFiles count];

int i;

NSMutableDictionary * theDict;
theDict = [[NSMutableDictionary alloc] init];

for (i=0; i < theNumberOfFiles; i++) {
NSString *thisFile = [allTheFiles objectAtIndex:i];
NSString *theFileNum = [NSString stringWithFormat:@"%i", i];

[theDict setObject:thisFile forKey:theFileNum];
}

[theDict writeToFile:@"/tmp/test_file.txt" atomically:YES];

[theDict release];
}
}

@end

最佳答案

尝试在您的代码上运行 CLang 静态分析器

http://clang-analyzer.llvm.org/

并修复它指出的每一件事。我从未见过它指出错误的地方,尽管有时我确信它是错误的。它特别适合查找泄漏和其他引用相关问题。

关于objective-c - 无法弄清楚内存泄漏从何而来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com