Есть ли способ найти объекты CString в дамп памяти?
Для исследования дампов памяти я использую heap_stat, как указано в "Хранилище Heap_stat" (основано на PYKD
отсюда и тэг (там вроде нет heap_stat
теги еще)).
Этот скрипт читает результаты windbg's
x /2 *!*
, принимает те, которые заканчиваются vtable'
и ищет записи в символах для определения информации о классе.
Это, однако, кажется, не работает для CString
класс (шаблон), который является синонимом ATL::CStringT
: нет vtable'
вход в x /2 *!*
Результаты.
В настоящее время у меня проблема в том, что иногда я получаю дампы приложений для анализа потребления памяти, и если потребление памяти связано с базовыми строками, я не могу найти их обратно в результатах heap_stat.
Итак, моя идея состояла в том, чтобы заменить основные типы строк на CString
(какой класс (шаблон?)), так что я ожидал увидеть CString
использование в моих результатах heap_stat. Это, однако, не так: я не вижу никаких CString
или же ATL::CStringT
использование объекта в результате heap_stat, что, по-моему, связано с отсутствием vtable'
записи в x /2 *!*
Результаты.
Кто-нибудь знает, что мне нужно искать в x /2 *!*
результаты, так что я модифицирую скрипт heap_stat и вижу CString
использование памяти объектами?
Я считаю, что проблема вызвана тем, что шаблоны не распознаются vtable'
запись, но кто-нибудь знает, как я могу их найти?