отслеживать распределение памяти C ++

Я ищу способ отслеживать распределение памяти в программе на C ++. яне интересуются утечками памяти, которые, похоже, пытаются найти большинство инструментов, а скорее создают профиль использования памяти для приложения. Идеальным выводом будет либо большой список имен функций плюс количество максимально выделенных байтов с течением времени, либо, что еще лучше, графическое представление кучи с течением времени. Горизонтальная ось - это время, вертикальная ось - куча пространства. Каждая функция получает свой цвет и рисует линии в соответствии с выделенными байтами кучи. Бонусные баллы за выявление выделенных типов объектов.

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

Я кратко посмотрел на Purify, BoundsChecker и AQTime, но, похоже, они мне не подходят. Valgrind выглядит подходящим, однако я на Windows.Memtrack выглядит многообещающе, но требует значительных изменений исходного кода.

Мои навыки работы с Google, должно быть, подвели меня, потому что это не такой уж необычный запрос? Вся необходимая информация для создания подобного инструмента должна быть легко доступна из символов отладки программы плюс вызовы API времени выполнения - нет?

Ответы на вопрос(8)

Ваш ответ на вопрос