Я хотел бы предложить кое-что, что я использовал в прошлом: элементарную программу проверки утечек, которая является довольно автоматической на уровне исходного кода. Я отдаю это по трем причинам:
Вы можете найти это полезным.
Хотя это немного круфно, я не позволяю этому смущать меня.
Несмотря на то, что он привязан к некоторым перехватчикам win32, это легко исправить.
Есть вещи, с которыми вы должны быть осторожны при его использовании: не делайте ничего, на что нужно опираться new
в базовом коде, остерегайтесь предупреждений о случаях, которые он может пропустить в верхней части leakcheck.cpp, поймите, что если вы включите в коде, который выполняет дампы изображений (и исправляет любые проблемы), вы можете создать огромный файл.
Дизайн предназначен для того, чтобы вы могли включать и выключать средство проверки без перекомпиляции всего, что включает его заголовок. Включите файл leakcheck.h, где вы хотите отслеживать проверку и один раз перестроить. После этого скомпилируйте leakcheck.cpp с LEAKCHECK #define'd или без него, а затем повторно подключите его, чтобы включить и выключить. Включение unleakcheck.h отключит его локально в файле. Предусмотрены два макроса: CLEARALLOCINFO () позволит избежать некорректного сообщения одного и того же файла и строки, когда вы просматриваете выделенный код, который не включал leakcheck.h. ALLOCFENCE () просто отбрасывает строку в сгенерированном отчете без выделения памяти.
Опять же, пожалуйста, поймите, что я не использовал это некоторое время, и вам, возможно, придется немного поработать с этим. Я добавляю это, чтобы проиллюстрировать идею. Если окажется, что интерес будет достаточным, я был бы готов разработать пример, обновив код в процессе и заменив содержимое следующего URL-адреса чем-то более приятным, что включает в себя список с прилично окрашенным синтаксисом.
Вы можете найти его здесь: http://www.cse.ucsd.edu/~tkammeye/leakcheck.html