Подтвердить что ты не робот

Как получить имена заказных структур, чьи экземпляры имеют пропущенную память?

Я работаю над парсером, который будет проходить через отчет об утечке памяти FASTMM4 и хранить все соответствующие данные в пользовательской структуре/классе. Я использую VirtualTreeView, чтобы отображать каждый класс, который пропустил экземпляры как node в дереве. Дерево - Обратите внимание, что FIRST node говорит, что неизвестно. Это связано с тем, что FASTMM вызывает метод AClass для определения погоды, это класс или нет. Когда он находит пользовательские структуры, он отмечает их как неизвестные, что не делает мой анализатор отчетов очень эффективным, поскольку большинство утечек памяти исходит из этих настраиваемых структур и записей.

Вопрос: есть ли способ использовать DebugInfo или какой-либо другой инструмент, например JVCL, чтобы собрать эти символы отладки и сравнить их адреса памяти с теми, которые были найдены в памяти утечки отчетно файл? Я хотел бы, чтобы мое дерево перестало показывать UNKNOWN и отображало имена этих настраиваемых структур. Я новичок в программировании Delphi и даже новичок в устранении утечек памяти, поэтому любая помощь будет означать многое!

4b9b3361

Ответ 1

Возможно, расширенный RTTI (Delphi 2010 newer) можно использовать для создания словаря типа, который содержит только указатели типов и имена всех типов "неклассов".

Эта функция может быть включена с условным определением, чтобы избежать ее служебных операций при нормальной работе.