Есть ли приемлемый предел для утечек памяти? - PullRequest
20 голосов
/ 24 октября 2008

Я только начал экспериментировать с SDL в C ++, и я подумал, что регулярная проверка на утечки памяти может быть хорошей привычкой формироваться на ранних этапах.

Имея это в виду, я запускал свои программы 'Hello world' через Valgrind для выявления любых утечек, и хотя я удалил все, кроме самых простых SDL_Init() и SDL_Quit() операторов, Valgrind все еще сообщает 120 потеряно байтов и 77 кбайт по-прежнему достижимы.

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

Ответы [ 11 ]

1 голос
/ 24 октября 2008

Согласно комментариям Роба Уэллса о Purify, скачайте и опробуйте некоторые другие инструменты. Я использую BoundsChecker и AQTime, и я видел разные ложные срабатывания за оба года. Обратите внимание, что утечка памяти также может быть связана со сторонним компонентом, который вы можете исключить из анализа. Из примера, MFC имел ряд утечек памяти в первых версиях просмотра.

IMO, утечки памяти должны отслеживаться для любого кода, который входит в кодовую базу, которая может иметь длительный срок службы. Если вы не можете их отследить, хотя бы отметьте, что они существуют для следующего пользователя с тем же кодом.

...