Newbee
Newbee

Reputation: 3301

How to find C or C++ code leaks using Instruments (Leaks) - Xcode?

int* foo = new int[10];
foo = NULL;
sleep(60);

Instrument is not finding any leak in above code, how do I use Instrument tool to find C or C++ code leaks. I have stack overflowed most of the explanation is based on objective C codes...

Upvotes: 2

Views: 1856

Answers (1)

trojanfoe
trojanfoe

Reputation: 122391

The issue is that compiler will optimize out the call to new in the following code fragment:

int* foo = new int[10];
foo = NULL;
sleep(60);

as it's smart enough to know that it's not being used. If you add code to use foo then compiler won't do this and you should see the leak you are expecting:

int* foo = new int[10];

foo[3] = 23;
foo[8] = 45;

printf("%d %d\n", foo[3], foo[8]);

foo = NULL;
sleep(60);

Upvotes: 3

Related Questions