Как перечислить все управляемые объекты в "куче" в .NET?

действительно ли возможно перечислить все объекты, хранившие в "куче". Я хотел бы сделать что-то вроде этого:

IEnumerable<GCHandle> listOfObjectsInHeap = GetListOfObjectsFromHeap();
11
задан Kirill 29 May 2010 в 08:49
поделиться

2 ответа

Для этого можно использовать API профилирования . К сожалению, не в управляемом коде.

4
ответ дан 3 December 2019 в 09:40
поделиться

Мне неизвестна какая-либо управляемая функция, которая позволяет вам это делать. Вы можете получить эту информацию с помощью функции HeapWalk . Вот пример его использования (он создает новую кучу, но вы можете получить кучу текущего процесса с помощью GetProcessHeap ).

2
ответ дан 3 December 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: