Я использую ClrMd для проверки памяти в приложении C# и последовательно создал объект процесса выполнения в процессе. Я использую объект времени выполнения для вызова EnumerateObjects (). Это возвращает коллекцию ulongs, которые являются ссылками на все объекты в куче. Если ссылка на строку, у меня нет проблем с восстановлением строки с помощью ClrType GetValue (). Однако когда я вызываю GetValue () для ссылки на другие объекты, GetValue возвращает то, что кажется другой ссылкой (то есть ulong).
Нужно ли выполнять какой-то C# небезопасный код? Кстати, я получаю тот же результат с EnumerateObjectAddresses () (есть ли разница между ними?)