Domande frequenti - Ricerca delle funzionalità del debugger

Questa documentazione risolve domande frequenti sulle funzionalità di debug in Visual Studio. Esegue anche il mapping delle attività di debug o dei problemi alla funzionalità pertinente nel debugger Visual Studio. Questi collegamenti riguardano attività o problemi come il debug di applicazioni multithreading, lo spostamento del codice, la perdita di memoria, l'ispezione delle variabili, l'uso di punti di interruzione, il debug del codice esterno e molti altri. Se è necessaria una panoramica delle funzionalità del debugger, vedere Esaminare prima di tutto il debugger.

Punti di interruzione

  • Come è possibile apprendere i comandi per scorrere il codice durante il debug?

    Per altre informazioni, vedere Esplorare il codice con il debugger.

  • è possibile eseguire il codice in una determinata riga ignorando i punti di interruzione senza rimuoverli o disabilitarli?

    È possibile usare "Forza esecuzione in cursore" per questi scenari. È possibile mantenere i punti di interruzione e il debugger li ignora finché non raggiunge la riga di codice con il cursore. Ignora anche qualsiasi condizione di interruzione delle eccezioni di prima probabilità che possono verificarsi. Per altre informazioni, vedere Esplorare il codice con il debugger.

  • Se la riga di codice contiene chiamate a metodi diversi, è possibile eseguire un'istruzione in un metodo specifico?

    Fare clic con il pulsante destro del mouse sulla riga di codice per visualizzare un menu di scelta rapida che consente di selezionare "Esegui istruzione specifica". Verrà visualizzato un elenco di tutti i metodi in cui è possibile entrare. È ora possibile selezionare il metodo di interesse.

Esaminare e visualizzare i dati

  • Come è possibile controllare il valore delle variabili durante l'esecuzione dell'app?

    Passare il puntatore del mouse sulle variabili usando suggerimenti per i dati o controllare le variabili nella finestra Auto e Variabili locali.

  • è possibile osservare il valore di modifica di una variabile specifica?

    Imposta un monitoraggio sulla variabile. Per ulteriori informazioni, vedere Impostare un controllo sulle variabili.

  • Come è possibile visualizzare stringhe troppo lunghe per la finestra del debugger?

    Il visualizzatore di stringhe mostra stringhe troppo lunghe per un tooltip dati o una finestra del debugger. Può anche aiutare a identificare stringhe malformate.
    Il visualizzatore di stringhe predefinito in Visual Studio include le opzioni testo, XML, HTML e JSON.

  • Come è possibile visualizzare oggetti raccolta di grandi dimensioni?

    Il visualizzatore DataSet consente di visualizzare il contenuto di un oggetto DataSet, DataTable, DataView o DataViewManager. Il visualizzatore IEnumerable consente di visualizzare oggetti come matrici, elenco e così via. Per altre informazioni, vedere visualizzatori tabulari.

Eseguire il debug di un'app già in esecuzione

  • Come è possibile eseguire il debug di app in esecuzione in computer locali o remoti, eseguire il debug di più processi contemporaneamente, eseguire il debug di app non create in Visual Studio o eseguire il debug di qualsiasi app non avviata da Visual Studio?

    Vedere Collega a un processo in esecuzione.

  • Come posso collegarmi ripetutamente alla stessa applicazione?

    È possibile usare Ricollega al processo (MAIUSC+ALT+P) per avviare facilmente il debug dell'applicazione con un solo clic, senza dover passare ogni volta attraverso la finestra di dialogo Attacca al processo. Vedere Ricollegamento a un processo.

Eseguire il debug di applicazioni multithreading

  • Come è possibile eseguire il debug di un'applicazione multithread? Oppure, l'applicazione è in uno stato bloccato?

    Vedere la Finestra Stack paralleli per ulteriori informazioni sulla risoluzione dei problemi.

  • Come è possibile visualizzare l'ordine in cui vengono chiamate le funzioni?

    Vedere Come visualizzare lo stack di chiamate.

Analizzare la memoria

  • La mia applicazione ha una perdita di memoria?

    Creare uno snapshot e aprirlo con lo strumento di memoria per risolvere altri problemi. Vedere Misurare l'utilizzo della memoria.

  • Come è possibile analizzare l'utilizzo della memoria per applicazioni native o gestite?

    Usare lo strumento di memoria di Visual Studio tramite il debug in tempo reale, i dump dell'heap o il profiler delle prestazioni.
    Vedere Scegliere uno strumento di analisi della memoria.

  • Come è possibile analizzare l'utilizzo della memoria per applicazioni native o gestite senza collegare un debugger? Usare il profiler delle prestazioni di Visual Studio con lo strumento di utilizzo della memoria abilitato.
    Vedere Analizzare l'utilizzo della memoria.

  • è possibile confrontare l'utilizzo della memoria tra due punti nel tempo?

    Confronta gli snapshot nello strumento di memoria o confronta due dump dell'heap usando la funzionalità diff. Vedere Analizzare l'utilizzo della memoria.

Debug di codice esterno

  • È possibile visualizzare solo il codice utente durante il debug?

    Just My Code è una funzionalità di debug Visual Studio che esegue automaticamente i passaggi sulle chiamate al sistema, al framework e ad altro codice non utente. Nella finestra Stack di chiamate, Just My Code comprime queste chiamate in frame [Codice esterno]. Vedere Eseguire il debug solo del codice utente con Just My Code.

  • Come è possibile visualizzare o eseguire il debug delle istruzioni di assembly non elaborate eseguite dal programma?

    Utilizzare la finestra di disassemblaggio da Debug > Windows > Disassembly. È possibile eseguire un'istruzione alla volta e persino impostare punti di interruzione su singole istruzioni di assembly.

  • È possibile visualizzare il codice sorgente per le librerie di .NET?

    Abilitare i server di simboli di Microsoft da Debug > Opzioni > Simboli per scaricare simboli e codice sorgente per le librerie di .NET. Vedere Specificare il simbolo.

  • Come è possibile caricare i PDB da un percorso o un server specifico o condiviso?

    Configurare i server di simboli da Debug > Opzioni > Simboli. Vedere Specificare il simbolo.

  • Come non è mai possibile caricare un PDB specifico? In alternativa, come posso caricarne sempre uno?

    Configurare gli elenchi di inclusione ed esclusione nei simboli delle opzioni di debug >>.
    Vedere Specificare il simbolo.

Configurare il debug

  • Come si configurano le impostazioni del debugger?

    Per configurare le opzioni del debugger e le impostazioni del progetto del debugger, vedere Impostazioni del debugger e preparazione.

  • Come è possibile personalizzare le informazioni visualizzate nel debugger?

    È possibile visualizzare informazioni diverse dal tipo di oggetto come valore in diverse finestre del debugger. Per il codice C#, Visual Basic, F#e C++/CLI, usare l'attributo DebuggerDisplay. Per opzioni più avanzate, è anche possibile personalizzare l'interfaccia utente creando un visualizzatore personalizzato . Per C++ nativo, usare il framework NatVis .

Attività aggiuntive

  • È necessario salvare un dump?

    Quando si è fermati a un errore o a un punto di interruzione durante il debug, selezionare Debug > Salva dump con nome. Vedere File di dump.

  • Come si analizza un file di dump?

    Aprire il dump scegliendo File > Apri in Visual Studio. Per avviare il debug, selezionare Debug solo gestito, Debug solo nativo, Debug misto o Debug con memoria gestita. Vedere File di dump.

  • è possibile modificare il codice durante una sessione di debug?

    Usare Hot Reload, precedentemente denominato Edit and Continue. Per XAML, usa XAML Hot Reload.

  • Come è possibile eseguire il debug nei computer remoti?

    Consulta debugging remoto.

  • Come è possibile risolvere i problemi di prestazioni?

    Vedere Un primo sguardo agli strumenti di profilatura.

  • Come risolvere un'eccezione?

    Vedere Correggere un'eccezione.

Debug assistito dall'intelligenza artificiale

  • Come è possibile ottenere assistenza per l'intelligenza artificiale durante il debug?

    Se disponi di Copilot, cerca il pulsante Analizza con Copilot o Ask Copilot nelle finestre del debugger, come l'Helper Eccezioni, i Suggerimenti per i Dati e le Finestre delle Variabili. Copilot conosce già il contesto di debug. Vedere Debug con Copilot.

  • Come si usa l'agente di debugging per la risoluzione completa dei bug?

    L'agente debugger fornisce un flusso di lavoro agente che riproduce bug, instrumenta l'app e convalida le correzioni usando i dati di runtime in tempo reale. Selezionare Debugger dal menu a discesa delle modalità nella finestra di Copilot Chat e fornire un link al problema o descrivere il bug. Consulta Risoluzione dei bug agentic con il Debugger Agent.