2012-06-14 84 views
0

使用Instruments检查我的代码泄漏,我得到一个显示,我无法找出解决方案。它是这样的:'strdup'泄漏 - 未知原因

malloc的48字节 负责图书馆 - libsystem_c.dylib 负责任的框架 - 的strdup

我GOOGLE了这一点,并提出几点建议告诉人们刚刚离开它,但提交给苹果泄漏似乎像一个愚蠢的事情,所以我想看看有没有人能告诉我更多关于这个,或者它可能来自哪里?

+0

我假设你的代码不直接调用'strdup',对吧? – dasblinkenlight

+0

它不叫它,不。 – Andrew

+0

你试过看整个框架吗?您应该可以打开右侧的堆栈跟踪抽屉,让它显示每个泄漏的整个调用堆栈。 – gaige

回答

0

如果你的代码不使用的strdup()直接,那么基本上是为内存泄漏两个可能的原因显示:

  1. 苹果的代码有缺陷:它调用strdup()但不释放使用后的返回值。
  2. 您使用的调试工具(仪器或其调用的命令行工具?)会错误地检测内存泄漏。

在这两种情况下,您都可以向Apple提交错误报告。