Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La gestione delle eccezioni è un problema comune, indipendentemente dalla tecnologia o dal livello di competenza. Può essere un'esperienza frustrante capire perché le eccezioni causano problemi nel codice. Quando si esegue il debug di un'eccezione in Visual Studio, è consigliabile ridurre la frustrazione fornendo informazioni rilevanti sulle eccezioni per semplificare il debug del problema più rapidamente.
Metti in pausa sull'eccezione
Quando il debugger si interrompe in un'eccezione, viene visualizzata un'icona di errore di eccezione a destra di tale riga di codice. Un assistente delle eccezioni non modale verrà visualizzato accanto all'icona dell'eccezione.
Esaminare le informazioni sulle eccezioni
È possibile leggere immediatamente il tipo e il messaggio di eccezione nell'Helper per eccezioni, e se l'eccezione è stata generata o non gestita. È possibile esaminare e visualizzare le proprietà dell'oggetto Exception facendo clic sul collegamento visualizza dettagli .
Analizzare i riferimenti null
A partire da Visual Studio 2017, sia per il codice .NET che per C/C++, quando si raggiunge un NullReferenceException
o un AccessViolation
, vengono visualizzate informazioni sull'analisi null nell'helper eccezioni. L'analisi viene visualizzata come testo sotto il messaggio di eccezione. Nella figura seguente le informazioni vengono visualizzate come "s era null.".
Nota
L'analisi dei riferimenti Null nel codice gestito richiede .NET versione 4.6.2. L'analisi Null non è attualmente supportata per la piattaforma UWP (Universal Windows Platform) e per altre applicazioni .NET Core. È disponibile solo durante il debug del codice che non dispone di ottimizzazioni del codice JIT (Just-In-Time).
Configurare le impostazioni delle eccezioni
È possibile configurare il debugger per interrompere quando viene generata un'eccezione del tipo corrente dalla sezione Impostazioni eccezioni dell'Helper eccezioni. Se il debugger si ferma su un'eccezione lanciata, è possibile usare la casella di controllo per disabilitare l'interruzione su quel tipo di eccezione in futuro. Se non si voglia interrompere questa particolare eccezione quando viene generata in questo particolare modulo, selezionare la casella di controllo accanto al nome del modulo in Eccetto quando viene generata da: nella finestra Impostazioni eccezioni.
Esaminare le eccezioni interne
Se l'eccezione presenta eccezioni interne (InnerException, è possibile visualizzarle nell'helper eccezioni. Se sono presenti più eccezioni, è possibile spostarsi tra di esse usando le frecce sinistra e destra visualizzate sopra lo stack di chiamate.
assistente eccezioni con eccezione interna
Esaminare le eccezioni rilanciate
Nei casi in cui un'eccezione è stata thrown
, l'Helper Eccezioni mostra lo stack di chiamate dal momento in cui l'eccezione è stata lanciata per la prima volta. Se l'eccezione è stata generata più volte, viene visualizzato solo lo stack di chiamate dall'eccezione originale.
Esaminare le eccezioni asincrone (.NET)
A partire da .NET 9, il debugger di Visual Studio si interrompe automaticamente quando un metodo task asincrono genera un'eccezione all'interno del codice .NET Framework. In questo modo è più semplice eseguire il debug di codice asincrono, in particolare in ASP.NET, perché le eccezioni vengono spesso generate attraverso limiti asincroni.
Visualizzare lo stack di chiamate
A partire da Visual Studio 2022 versione 17.3, è possibile visualizzare i frame dello stack di eccezioni all'interno della finestra Call Stack. Per le eccezioni asincrone, questo aggiunge la possibilità di caricare rapidamente i simboli o individuare le origini e passare direttamente al sito dell'eccezione. I frame dello stack delle eccezioni all'interno della finestra Call Stack forniscono funzionalità standard dello stack di chiamate, come la navigazione automatica, il passaggio rapido tra i frame, il caricamento dei simboli e le opzioni di decompilazione per tornare al codice sorgente in cui è stata generata l'eccezione.
assistente eccezione
Ottenere assistenza per l'intelligenza artificiale
Se hai Copilot, puoi ottenere assistenza dall'intelligenza artificiale durante la risoluzione delle eccezioni. Cerca semplicemente il pulsante Ask Copilot. In questi scenari, Copilot conosce già il contesto per le domande, quindi non è necessario fornire il contesto in chat. Per altre informazioni, vedere Debug con Copilot.
Condividere una sessione di debug con Live Share
Dall'helper eccezioni è possibile avviare una sessione di Live Share usando il collegamento Avvia sessione di Live Share.... Tutti gli utenti che partecipano alla sessione di Live Share possono visualizzare l'helper eccezioni insieme a qualsiasi altra informazione di debug.