在控制台应用程序上简单使用Leaks Instrument

时间:2010-11-11 18:15:02

标签: c++ xcode memory memory-leaks instruments

我想了解一个如何使用Leaks工具的简单示例 见:

#include <iostream>

int main (int argc, char * const argv[]) {
  char *buf = new char[100];

  sprintf(buf, "Hello, World!\n");
  // insert code here...
  std::cout << buf;
  return 0;
}

上面的代码(简单示例)应该泄漏分配在* buf上的指针,对吗? 与valgrind一起跑步后我会发现这很容易 但我在Leaks计划上找不到如何做到这一点 我试着睡觉(60),但对我来说仍然不友好......

感谢,
乔纳森

1 个答案:

答案 0 :(得分:0)

我发现Leaks对于快速退出的命令行应用程序并不是那么好用。我建议像你已经完成的那样添加一个sleep(),但是在主程序逻辑之前添加一个,最后再添加一个,以便Leaks可能对泄漏状态进行采样。

int main() {
  sleep(20); // 20s may be enough
  {
     // do leaky operations, then local variables will go out of scope
  }
  sleep(20);
}
相关问题