Как определить, что находится в выделенной и зарезервированной памяти? - PullRequest
1 голос
/ 10 мая 2011

В настоящее время я изучаю проблему, когда приложение использует много частной памяти для приложения C ++. Похоже, что много зарезервировано и зарезервировано памяти на основе анализа дампа.

Я использую Windbg. Есть ли какой-нибудь способ узнать, что именно находится в выделенной и резервной памяти? Я сузил его до одной конкретной кучи.

Моя теория состоит в том, что это не выпущено. Я не могу жить отладки, у меня есть только дампы, чтобы продолжить.

Любые предложения помогут.

1 Ответ

0 голосов
/ 10 мая 2011

!address -Filter должна быть в состоянии предоставить эту информацию. Вот различные варианты фильтра.

MEM_COMMIT: - Вся память, которая в настоящее время переданы для использования цель. Физическая память была выделенный для этой памяти, в физическом памяти или в файле подкачки.

MEM_RESERVE: - Вся память, которая зарезервировано для будущего использования целью. Физическое хранилище не выделено для эта память.

MEM_FREE: - Вся доступная память в виртуальное адресное пространство цели. Эта память включает в себя всю память, которая не было совершено или зарезервировано. Это значение фильтра такое же, как RegionUsageFree.

...