пытаясь найти утечки памяти в моем коде C ++ - PullRequest
1 голос
/ 03 июня 2019

Я пытаюсь найти утечки памяти в моем коде c ++, но до сих пор я использовал VALGRIND, и когда я запускаю строку -

valgrind --tool=memcheck --leak-check=yes example1

Терминал просто не работает, он отображает 3 строки и курсор простомигает в новой строке, показывая, что он застрял или все еще работает, и мне нужно нажать Ctrl + C, чтобы завершить процесс, а затем он отображает LEAK SUMMARY, я не уверен, если это так, но какое-то направление будетполезно

1 Ответ

2 голосов
/ 03 июня 2019

Valgrind работает как положено. Сообщение об утечке памяти происходит только после завершения процесса, а не во время его работы.

Другие виды ошибок памяти будут отображаться, как только они произойдут, такие как чтение неинициализированной памяти или доступ к памяти после ее освобождения. Но не утечки памяти.

Так что, если процесс все еще работает, вы должны сказать ему, чтобы выйти. Сделайте это, однако вы, как правило, приказали бы ему выйти, когда не работаете под valgrind, например отправить это сигнал. Это то, что делает Ctrl-C.

...