действительно ли возможно перечислить все объекты, хранившие в "куче". Я хотел бы сделать что-то вроде этого:
IEnumerable<GCHandle> listOfObjectsInHeap = GetListOfObjectsFromHeap();
Для этого можно использовать API профилирования . К сожалению, не в управляемом коде.
Мне неизвестна какая-либо управляемая функция, которая позволяет вам это делать. Вы можете получить эту информацию с помощью функции HeapWalk . Вот пример его использования (он создает новую кучу, но вы можете получить кучу текущего процесса с помощью GetProcessHeap ).