Сброс большого количества воды в куче отладки ЭЛТ

_CrtMemState структура возвращается _CrtMemCheckpoint() включает в себя size_t lHighWaterCount член, который дает максимальное использование памяти с момента запуска приложения. Я пишу испытательную установку, которая заботится о отметках уровня воды, но она выполняет несколько тестов за один проход, и я могу только надежно получить отметку уровня воды для первого теста: если отметка уровня воды не повышается во время Во втором тесте я знаю только то, что отметка максимальной воды была меньше или равна отметке первого теста.

Есть ли способ сбросить верхнюю отметку кучи отладки CRT до текущего размера выделения?

1

Решение

Нет, нет способа сбросить этот счетчик.

Рассмотрим альтернативное решение: зарегистрируйте хук распределения (через _CrtSetAllocHook) в начале каждого теста сохраняйте свой высокий уровень воды в течение этого теста, затем отмените регистрацию крючка в конце теста.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]