Condividi tramite


Discariche

Un dump è un file che contiene uno snapshot del processo al momento della creazione del dump e può essere utile per esaminare lo stato dell'applicazione. I dump possono essere usati per eseguire il debug della tua applicazione .NET quando è difficile collegarvi un debugger, ad esempio in ambienti di produzione o di integrazione continua. L'uso dei dump consente di acquisire lo stato del processo problematico ed esaminarlo senza dover arrestare l'applicazione.

Raccogliere file di dump

I dump possono essere raccolti in diversi modi, a seconda della piattaforma in cui è in esecuzione l'app.

Annotazioni

I dump possono contenere informazioni riservate perché possono contenere la memoria completa del processo in esecuzione. Gestirli tenendo presenti eventuali restrizioni di sicurezza e indicazioni.

  • È possibile usare le variabili di ambiente per configurare l'applicazione per raccogliere un dump in caso di arresto anomalo.

  • Potresti voler raccogliere un dump quando l'app non si è ancora bloccata. Ad esempio, se si vuole esaminare lo stato di un'applicazione che sembra essere in un deadlock, la configurazione delle variabili di ambiente per raccogliere i dump in caso di arresto anomalo non sarà utile perché l'app è ancora in esecuzione.

  • dotnet-dump è un semplice strumento da riga di comando multipiattaforma per raccogliere un dump. Diversi altri strumenti del debugger, ad esempio Visual Studio o windbg , hanno anche funzionalità di raccolta dump.

  • Se si esegue l'app nell'ambiente di produzione o la si esegue in modo distribuito (diversi servizi, repliche), dotnet-monitor offre il supporto per molti scenari comuni e indagini diagnostiche ad hoc, tra cui la raccolta di dump e l'uscita. Consente di raccogliere i dump in modalità remota o con condizioni di attivazione.

Suggerimento

Per la risoluzione dei problemi e le domande frequenti sulla raccolta di dump, vedere Dump: domande frequenti.

Analizzare gli scarichi

Analisi della memoria

È possibile eseguire l'analisi della memoria sull'applicazione se la memoria dell'app continua a crescere, ma non si è certi del motivo. Esercitazione su come correggere perdite di memoria spiega come eseguire il debug di una perdita di memoria utilizzando gli strumenti CLI dotnet con i comandi dotnet-sos dumpheap e gcroot.

L'analisi della memoria di Visual Studio può essere usata per diagnosticare una perdita di memoria in Windows.

Vedere anche

Altre informazioni su come sfruttare i dump per diagnosticare i problemi nell'applicazione .NET.