Visualizzazione della memoria allocata
Domanda
Sto cercando uno strumento ($, gratuito, open source;Non mi interessa) che mi consentirà di visualizzare non solo le statistiche di memoria per un programma .NET, ma anche la gerarchia degli oggetti.Mi piacerebbe davvero poter approfondire ogni oggetto e visualizzarne l'impronta, così come tutti gli oggetti a cui fa riferimento.
Ho esaminato cose come Ants Profiler di RedGate, ma non è proprio quello che voglio:Non riesco a visualizzare istanze specifiche.
MODIFICARE:Ho già utilizzato .NET Memory Profiler (quello fornito con Visual Studio e quello che faceva parte dell'SDK (?)) e, sebbene sia davvero buono (e mostri visualizzazioni che la maggior parte degli altri non lo fa) , quello che cerco veramente è poter approfondire la gerarchia degli oggetti, visualizzando ogni istanza dell'oggetto.
Soluzione
Ho utilizzato JetBrains DotTrace e Redgate Ants, che consiglierei entrambi.Un profiler meno conosciuto che ho utilizzato è .Net Memory Profiler (http://memprofiler.com/), che all'epoca in cui lo utilizzavo forniva una prospettiva diversa sull'utilizzo della memoria rispetto ai due profiler menzionati in precedenza.Trovo che DotTrace e Ants siano molto simili, anche se ognuno è leggermente diverso.
Altri suggerimenti
Profiler dottrace di JetBrains è il migliore.Non lavorerei senza di essa.È difficile trovare uno strumento gratuito e che funzioni bene in questo ambito.Dottrace è senza dubbio il miglior profiler che ho usato per .Net.
C'è anche il profiler Microsoft .net: l'ho usato un po' e non è male per essere uno strumento gratuito.Non sono sicuro di poter percorrere la gerarchia degli oggetti, ma suddivide l'utilizzo della memoria per tipo e nel tempo.Puoi anche vedere i dati sottostanti.
Tuttavia rallenta molto l'app.