Я ищу способ отслеживать выделения памяти в программе на С++. Меня не интересуют утечки памяти, которые, похоже, пытаются найти большинство инструментов, а скорее создают профиль использования памяти для приложения. Идеальный вывод будет либо большим списком имен функций, либо числом максимальных выделенных байтов со временем или лучше, графическим представлением кучи во времени. Горизонтальная ось - это время, пустое пространство вертикальной оси. Каждая функция получит собственный цвет и рисует линии в соответствии с выделенными байтами кучи. Бонусные точки для идентификации выделенных типов объектов.
Идея состоит в том, чтобы найти узкие места памяти/визуализировать, какие функции/потоки потребляют большую часть памяти, и должны быть нацелены на дальнейшую оптимизацию.
Я кратко посмотрел на Purify, BoundsChecker и AQTime, но они, похоже, не так, как я. Valgrind выглядит подходящим, однако я на Windows. Memtrack выглядит многообещающим, но требует значительных изменений в исходном коде.
Мои навыки Google должны были подвести меня, потому что это не похоже на такой необычный запрос? Вся необходимая информация для создания такого инструмента должна быть легко доступна из программных отладочных символов плюс вызовы API runtime - no?