Кто-нибудь может использовать утечки? (из инструментов) - PullRequest
1 голос
/ 21 марта 2011

Я написал простую программу на C и objC с утечкой, и я не могу понять Leaks.вот оно:

int main(void) { int t = 78; t = malloc(50); t = 4; return 0; }

Может ли оно показать мне, какая переменная является утечкой или где она течет?

Каждый учебник Leaks в Интернете (вседва из них) плохие.

пожалуйста, помогите?

Ответы [ 2 ]

3 голосов
/ 21 марта 2011

Если вы тестируете прибор Leaks с предоставленным вами кодом, неудивительно, что он не может обнаружить никаких проблем.

  • Утечки имеют интервал снимка по умолчанию 10 секунд. Но ваша программа не будет работать даже в течение 10 секунд.
  • Вы размещаете в области точки входа приложения. «t» действует (если не освобождено) до тех пор, пока не выйдет главный. Так что ОС все равно вернет память.
  • И самое главное: ваш код не содержит утечек. Это будет утечка, если вы "потеряли ссылку" на т. (например, с помощью другого t = malloc () или присвоения t какой-либо другой переменной)

Если вы хотите увидеть утечки в действии, создайте приложение какао по умолчанию, добавьте переменную экземпляра «test» в ваш AppDelegate и вставьте следующий код в реализацию.

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
   test = malloc(50);
   test = malloc(20);
}
0 голосов
/ 21 марта 2011

Я не использовал «Утечки», но в сети множество учебных пособий, начиная с Apple - Документация Apple для разработчиков по этому вопросу , Mobile Orchard и Cocoa моя подруга , которая кажется лучшей.

...