Gibt es einen Weg, den Heap von einer .NET-Anwendung aus zu durchlaufen? Ich habe eine Silverlight-Anwendung und möchte in der Lage sein, den Heap auf Speicherlecks zu untersuchen. Ich dachte, es wäre schön, ein Debugging-Popup-Fenster zu implementieren, das die Inhalte des Heaps anzeigen würde. Ich habe die .NET-API-Namensräume durchgesehen und nichts Relevantes gefunden.
Antworten
Zu viele Anzeigen?
Reed Copsey
Punkte
536986
Sie können die SOS Debugging Extension verwenden, um die verwalteten Speicherzuweisungen in Ihrem Programm zu untersuchen.
Hier ist ein Blog-Beitrag, der zeigt, wie dies mit Silverlight gemacht wird.
GRGodoi
Punkte
1886
Sie können auch das SysInternals-Tool ProcessExplorer ausprobieren. Es gibt einen Tab namens .NET, auf dem Sie viele spezifische Daten zu .NET-Anwendungen (Speicher, Garbage Collector-Aktivität usw.) finden können. Wenn ich vermute, dass mein Code Speicher verliert, verwende ich dieses Tool, um zu überprüfen und zu verstehen, was passiert.