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 dell'applicazione .NET quando è difficile collegarvi un debugger, ad esempio ambienti di produzione o CI. L'uso dei dump consente di acquisire lo stato del processo problematico ed esaminarlo senza dover arrestare l'applicazione.
Raccogliere dump
I dump possono essere raccolti in modi diversi, a seconda della piattaforma in cui è in esecuzione l'app.
Nota
I dump possono presentare informazioni riservate perché possono contenere la memoria completa del processo in esecuzione. Gestirli tenendo presente eventuali restrizioni e linee guida in materia di sicurezza.
Suggerimento
Per domande frequenti sulla raccolta di dump, l'analisi e altre puntualizzazioni, vedere Dump: domande frequenti.
Si potrebbe voler raccogliere un dump quando l'app non si è ancora arrestata in modo anomalo. 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, come 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 e l'uscita di dump. Consente la raccolta di dump da remoto o con condizioni di attivazione.
È possibile eseguire l'analisi della memoria sull'applicazione se la memoria dell'app continua a crescere, ma non si è certi del motivo. L'esercitazione Eseguire il debug di una perdita di memoria illustra come eseguire il debug di una perdita di memoria usando gli strumenti dell'interfaccia della riga di comando dotnet con i comandi dotnet-sos dumpheap e gcroot.
L'esercitazione Eseguire il debug di un deadlock illustra come eseguire il debug di un deadlock nell'applicazione .NET usando i dump.
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Usare Web App Down (App Web inattiva), il monitoraggio degli arresti anomali e Ask Genie per la risoluzione dei problemi. Usare questi strumenti per monitorare la disponibilità dell'applicazione e della piattaforma, identificare eccezioni non gestite, acquisire dump di memoria e stack di chiamate e trovare aree di analisi e diagnostica.