Iphone 我有一个内存泄漏和负责的框架是strdup。谁能给我一些线索?

Iphone 我有一个内存泄漏和负责的框架是strdup。谁能给我一些线索?,iphone,objective-c,c,memory-leaks,Iphone,Objective C,C,Memory Leaks,我用仪器检测时内存泄漏。我对内存管理没有太多经验,所以我无法找出导致此问题的可能原因,内存泄漏如下: 我想知道这种内存泄漏的可能原因。有人能给我一些线索吗?strdup在内部使用malloc,所以任何被strdup-ed的东西都必须使用free释放 例如: char *duplicate = strdup("abcdef"); ... free(duplicate); strdup()是一个库函数,因此需要返回回溯,直到找到代码中的调用方。在那里,您会发现一个导致内存被分配的库调用——它应

我用仪器检测时内存泄漏。我对内存管理没有太多经验,所以我无法找出导致此问题的可能原因,内存泄漏如下:


我想知道这种内存泄漏的可能原因。有人能给我一些线索吗?

strdup
在内部使用
malloc
,所以任何被
strdup
-ed的东西都必须使用
free
释放

例如:

char *duplicate = strdup("abcdef");
...
free(duplicate);
strdup()
是一个库函数,因此需要返回回溯,直到找到代码中的调用方。在那里,您会发现一个导致内存被分配的库调用——它应该在程序的其他地方有一个相应的释放调用


(释放函数不一定是对
free()
的直接调用-例如,如果调用
getaddrinfo()
库函数,则相应的释放函数是
freeaddrinfo()
)。

True。但也许你应该说为什么?我已经搜索了我的项目,我从来没有明确使用过strdup