Простое использование Leaks Instrument в консольном приложении - PullRequest
0 голосов
/ 11 ноября 2010

Мне нужен простой пример использования инструмента «Утечки».
см:

#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, верно?
с Вальгриндом мне было бы очень легко после пробега
но я просто не могу найти, как это сделать в программе Leaks
Я пытался усыпить (60), но это все еще не дружелюбно для меня ...

спасибо,
Jonathan

1 Ответ

0 голосов
/ 12 ноября 2010

Я обнаружил, что Leaks не очень хорошо работает с приложениями командной строки, которые быстро выходят.Я бы предложил добавить sleep(), как вы сделали, но добавьте один перед логикой основной программы, а затем снова в конце, чтобы утечки могли отобрать утечку.

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