11

My Visual Studio (2010 SP1) presenta una perdita di memoria grave e sembra essere causato da una o più estensioni installate.Come faccio a sapere quale estensione di Visual Studio sta causando perdite di memoria?

Ho cercato di restringerlo attivando e disattivando estensioni e componenti aggiuntivi, ma ci vuole un po 'di tempo per creare una perdita significativa ei risultati non sono del tutto conclusivi. Raramente richiede più di qualche ora prima che il processo devenv.exe utilizzi 2 GB di memoria e inizi a cestinare, il che sta diventando un po 'un problema con cui lavorare.

C'è un modo per rendere VS le informazioni di emissione sulla memoria allocata per le estensioni?

Le estensioni gestite sono in esecuzione nel proprio AppDomain? Forse questo mi permetterebbe di attivare alcuni contatori di prestazioni che potrebbero aiutare a individuare il problema.

Tutto ciò che posso fare per risolvere questo problema oltre a disabilitare le cose una alla volta fino a quando il problema non scompare?

+0

Si sta utilizzando qualsiasi strumento (ad esempio: jetBrains dotTrace, Profiler di memoria Scitech, .net clr profiler) per isolare il problema? c'è una buona lista di loro qui http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers – Maciej

+0

Ho delle licenze per entrambi gli strumenti RedGate e JetBrains, ma non vedo come potrebbero essere di grande utilità considerando che ci vuole un'ora di utilizzo di VS per la perdita di memoria ad essere cresciuta fino a un punto in cui è possibile identificare il colpevole. Scitech potrebbe essere in grado di fare qualcosa con un processo nativo come devenv, ma non credo che gli strumenti che ho sarebbero di grande aiuto. –

+0

Per chiarire, non credo che la fuga sia "sempre presente". Qualcosa che faccio durante lo sviluppo sembra scatenare il problema, e dopo quel punto VS inizia a mangiare memoria ad un ritmo abbastanza veloce. Se potessi collegare un profiler dopo questo, potrebbe effettivamente produrre un risultato utile. –

risposta

1

In base allo JetBrains faq page si dovrebbe essere in grado di collegarsi a un processo già in esecuzione quando inizia a visualizzare problemi di perdita di memoria. Forse puoi dare un colpo. Notare che il file faq indica che è necessario utilizzare la versione 5.

+0

Speravo che qualcuno mi dicesse di eseguire semplicemente devenv con uno switch/dumpMemoryStatsOnExit o qualcosa del genere, ma suppongo che dovrò vedere che cosa genera un profiler. Grazie, anche se ancora aperto a qualsiasi opzione che non rende questo un compito dedicato .. –

Problemi correlati