Есть ли аналог функции _CrtMemDumpStatistics
От: Melamed Россия  
Дата: 16.03.15 15:02
Оценка:
Я сейчас ловлю утечки памяти в моей программе. Они есть и большие. Нужно проверить каждый прогон цикла(число циклов около 1000.
Методика поиска утечки описана в статье Обнаружение и локализация утечек памяти
Автор(ы): Эдвард Райт

Статья посвящена проблеме, которая постоянно преследует программистов на C/C++, — обнаружению и локализации утечек памяти. Автор демонстрирует применение средств библиотеки времени выполнения (CTR), поставляемой с Visual C++, с помощью которых утечки памяти можно устранить гораздо быстрее и проще, чем методом "пристального взгляда".


Там используется функция _CrtMemDumpStatistics, которая выводит информацию о дампе памяти в окно отладчика. Мне это для анализа не очень удобно. При таких объемах лучше выводить не в окно отладчика а в файл для дальнейшего анализа. Соответственно вопрос: существует ли в природе функция, аналогичная _CrtMemDumpStatistics, которая выводила бы информацию в файл или в строку (второе даже предпочтительнее).
Если такой функции не существует, то посоветуйте, как лучше решить данную задачу другими средствами?

Среда обработки MSVS 2012 C++
Re: Есть ли аналог функции _CrtMemDumpStatistics
От: watchmaker  
Дата: 16.03.15 15:15
Оценка:
Здравствуйте, Melamed, Вы писали:

M>Соответственно вопрос: существует ли в природе функция, аналогичная _CrtMemDumpStatistics, которая выводила бы информацию в файл


_CrtMemDumpStatistics умеет выводить в файл. Куда отладочный вывод направлен — туда и выводит. Смотри, например, на _CrtSetReportFile.

M>или в строку (второе даже предпочтительнее).


Это написать самому. Эта функция же просто выводит члены структуры _CrtMemState как есть. Единственного вызова snprintf будет достаточно чтобы вывести результат в строку.
Отредактировано 16.03.2015 15:28 watchmaker . Предыдущая версия .
Re: Есть ли аналог функции _CrtMemDumpStatistics
От: uzhas Ниоткуда  
Дата: 18.03.15 11:32
Оценка: 11 (3) +1
Здравствуйте, Melamed, Вы писали:

M>Я сейчас ловлю утечки памяти в моей программе.


рекомендую использовать vld: https://vld.codeplex.com/
легко влинковывается, понятно отображает мемлики (call stacks + объем в байтах)
Re[2]: Есть ли аналог функции _CrtMemDumpStatistics
От: _Artem_ Россия  
Дата: 19.03.15 08:55
Оценка:
Здравствуйте, uzhas, Вы писали:

U>Здравствуйте, Melamed, Вы писали:


M>>Я сейчас ловлю утечки памяти в моей программе.


U>рекомендую использовать vld: https://vld.codeplex.com/

U>легко влинковывается, понятно отображает мемлики (call stacks + объем в байтах)

Хотел его порекомендовать, не успел
У самого тоже положительный опыт использования данной штуковины.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.