Я долго игнорировал этот инструмент, потому что это был только .NET.
Согласно MSDN, инструмент диагностики работает для собственного кода, скомпилированного в Visual Studio 2015 в Debug.
Я следую:
https://docs.microsoft.com/en-us/visualstudio/profiling/memory-usage
Я включаю «Профилирование кучи» в окне «Инструменты диагностики» на вкладке «Использование памяти». Затем я перестраиваю все, проверяя, что набор инструментов — «Visual Studio 2015» для каждого проекта, и проверяя, созданы ли PDB для каждого проекта, который является dll или exe. Я устанавливаю точку останова на main, когда клиент подключается к моему процессу, и после этого клиенту отправляются данные. Между ними тысячи обращений к новым. Каждый раз, когда я нажимаю «Сделать снимок». Когда я нажимаю кнопку «Сделать снимок», появляется строка с указанием времени, выделений и размера кучи. Последние два обнуляются.
Если я делаю то же самое с одним из моих модульных тестов, они заполняются, и я могу выполнить детализацию, как описано в документации.
Что я должен искать, чтобы заставить его работать с моим основным проектом?
Существуют ли определенные настройки ссылок? Имеет ли значение, что я создаю статические библиотеки и динамические библиотеки? Что-нибудь конкретное, чтобы искать?
У меня была похожая проблема (vs2015 или vs2017 показали 0 выделений в куче).
Затем я заметил, что у меня включены gflags для полной проверки кучи страниц (можно проверить с помощью gflags / p).
Я только что отключил его, и теперь куча снимков снова начал работать 🙂
Других решений пока нет …