Назад | Перейти на главную страницу

Windbg: не удается получить следующий объект после бесплатного объекта

Я знаю, что фрагментация обычно происходит, когда объект, собранный при сборке мусора, помечается как «свободный» блок, но объект, занимающий следующее адресное пространство, закрепляется. Я могу получить список бесплатных объектов, но не могу узнать, что рядом с ним закреплено.

Я выгружаю объект, нахожу его размер, а затем добавляю его размер к исходному адресу объекта, чтобы получить следующий объект, например:

0: 000>! Do 0a2467c8 Размер свободного объекта 438312 (0x6b028) байт

0: 000>! Do 0a2467c8 + 438312 Неверный объект

Я никогда не смогу показать следующий закрепленный объект. Это всегда недействительно. Что я здесь делаю не так?

WinDbg не всегда работает по плану. Ознакомьтесь с последней программой Марка Руссиновича.

ProcDump v1.0, 1.0 стоит каждого упоминания. http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

ProcDump - это служебная программа командной строки, основной целью которой является мониторинг приложения на предмет скачков ЦП и создание аварийных дампов во время скачка, которые администратор или разработчик может использовать для определения причины скачка. ProcDump также включает в себя мониторинг зависшего окна (с использованием того же определения зависания окна, которое используют Windows и диспетчер задач) и мониторинг необработанных исключений. Он также может служить в качестве общей утилиты дампа процесса, которую вы можете встроить в другие скрипты.