2016-03-16 22 views
6

C'è il pulsante eccellente Start Profiling nel portale SCM che funziona perfettamente per la CPU.Come eseguire il debug delle perdite di memoria di Azure Web App?

enter image description here

poi ci sono alcune fonti che fanno riferimento a un pulsante Download GC Dump: https://stackoverflow.com/a/27987593/647845

Ma questo non sembrano essere più disponibile.

Poi c'è il pulsante Download memory dump. Ma per ora non riesco a capire come/se riesco a vedere il tipo stastistics/Refcount/Size che io sono anche usato.

Qual è il modo consigliato per cercare perdite di memoria in un'app Web C# Azure?

risposta

7

Prova utilizzando la console Kudu. Vai a https://[sitename].scm.azurewebsites.net/support Fai clic su Analizza -> Dignotics -> Impostazioni. Assicurati che Memory dumps sia spuntato E poi clicca Dignose Now. Funzionerà solo in Piano di base e sopra (Non disponibile per piano gratuito) Dopo un po 'di tempo si scaricherà lo scarico enter image description here Aprire il file scaricato con Visual Studio e selezionare "Debug gestita memoria". Puoi quindi vedere i dettagli. enter image description here

+0

Ciao @GhandaliSamant, grazie per la tua risposta. Quando faccio ciò ottengo l'eccezione "Non gestita" a 0x0000000000000000 in w3wp_39104_8a58_2016-03-16_14-23-22-814_98c0.dmp: 0x80000007: Operazione interrotta. Qualche idea? –

+0

Lasciami provare e tornare indietro. Non è successo con me. In quale fase hai ricevuto questo errore? –

-1

Remote Profiling di Azure Web App da Visual Studio è probabilmente l'opzione migliore.

https://azure.microsoft.com/en-us/blog/remote-profiling-support-in-azure-app-service/

+0

Ciao Chris, grazie per la tua risposta. Quella caratteristica funziona alla grande per la CPU, ma la memoria non sembra essere ancora supportata. Vedi anche il commento di Hadmi Safa 'No, i profili CPU sono attualmente supportati solo. –

+0

Funziona solo per CPU. La memoria non è supportata – alessalessio

0

È possibile scaricare una copia della memoria utilizzando Kudu Console e utilizzare DebugDiag al profilo, è possibile avere più di un dump di memoria, uno prima della fuga accade, uno durante e un dopo, in seguito è possibile confrontare e vedere quali oggetti crescono di dimensioni e non vengono smaltiti