Я написал следующий код, чтобы преднамеренно создать утечку памяти.
#include <windows.h>
int main(int argc, char* argv[])
{
while(1)
{
char *ch1 = new char[10];
char *ch2 = new char[5];
char *ch3 = new char[2];
Sleep(5);
}
return 0;
}
Я взял журналы, используя LeakDiag и сделать следующий график, используя LDGrapher.
Теперь мой вопрос, почему только три адреса показаны на графике утечек? Я продолжаю создавать новые указатели в while(1)
так у меня течет память по множеству адресов?
Включение windows.h «я предполагаю, что вы запускаете это на windows box» * управление памятью в windows намного умнее по сравнению с linux.
Попробуйте запустить ту же программу в Linux и перерисовать график, чтобы увидеть разницу