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.
In questa guida introduttiva viene illustrato come usare il debugger Visual Studio per eseguire il debug del codice C++ nativo. Questo articolo offre un modo rapido per apprendere alcune delle funzionalità di base per lavorare nel debugger.
Se non si dispone di Visual Studio, è possibile installare la versione di valutazione gratuita dalla pagina download Visual Studio.
Creare un nuovo progetto
Per iniziare, creare un nuovo progetto, quindi è necessario disporre di codice da archiviare nel debugger.
Aprire Visual Studio e creare un nuovo progetto.
Se la finestra iniziale non è aperta, selezionareFinestra di avvio>.
Nella finestra iniziale selezionare Crea un nuovo progetto.
Nella finestra Crea un nuovo progetto impostare i filtri e cercare un modello di progetto.
Nella casella Cerca modelli immettere vuoto.
Espandere l'elenco a discesa Linguaggio e selezionare C++.
Nell'elenco dei risultati selezionare il modello Empty Project per C++, quindi selezionare Next.
Se non viene visualizzato il modello Empty Project per C++, selezionare l'opzione Continue senza codice.
Selezionare Tools>Strumenti e funzionalità... , che apre il programma di installazione di Visual Studio.
Nella finestra Del programma di installazione selezionare la casella di controllo per il carico di lavoro Sviluppo di applicazioni desktop con C++ e quindi selezionare Modifica.
L'installazione di Visual Studio viene aggiornata per includere il carico di lavoro C++ selezionato.
Al termine dell'aggiornamento, selezionare Finestra diavvio> e seguire le istruzioni precedenti per selezionare il modello richiesto.
Configurare il nuovo progetto:
Immettere un nome Project name e Solution name oppure usare i valori predefiniti.
Usare il percorso predefinito o selezionare Sfoglia (...) per creare il progetto in una cartella diversa.
Fare clic su Crea.
Visual Studio crea il nuovo progetto e aggiunge i file di progetto nella cartella specificata.
Aggiungere un file di progetto
Aggiungere un file di codice in modo da avere contenuto da testare nel debugger.
Nel riquadro Esplora soluzioni, Fare clic con il pulsante destro del mouse sul <project-name> e selezionare Add>New Item.
Se il riquadro Esplora soluzioni non viene visualizzato, selezionare View>Esplora soluzioni.
Nella finestra di dialogo Aggiungi nuovo elemento immettere il nome file MyDbgApp.cpp e quindi selezionare Aggiungi.
Il file viene aperto nell'editor di codice.
Aggiungere il codice seguente al nuovo file.
#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }Salvare le modifiche apportate al file con il tasto di scelta rapida CTRL+S .
Imposta punto di interruzione
Un breakpoint è un marcatore che indica dove Visual Studio deve sospendere il codice in esecuzione. Quando viene impostato un punto di interruzione, è possibile esaminare i valori correnti delle variabili, esaminare il comportamento della memoria e verificare se è in esecuzione un ramo di codice specifico. I punti di interruzione sono la funzionalità di base per il debug.
Per impostare un punto di interruzione, individua la chiamata alla funzione
doWork()nel codice, quindi seleziona il margine sinistro sulla stessa riga.Quando il punto di interruzione è impostato, viene visualizzato un punto rosso nella barra sinistra sulla riga corrispondente nel codice.
Avviare il debug usando il tasto di scelta rapida F5 (o selezionare Debug>Avvia debug).
L'esecuzione del codice viene sospesa immediatamente prima della chiamata alla
doWork()funzione .Il debugger sospende dove si imposta il punto di interruzione. Una freccia gialla identifica l'istruzione in cui il debugger sospende l'esecuzione dell'app.
Suggerimento
Quando si esegue il debug di errori correlati alla memoria nel codice C++, è anche possibile usare i punti di interruzione per esaminare i valori degli indirizzi (cercare
NULL) e i conteggi dei riferimenti.
Impostare punti di interruzione condizionali
Se imposti un punto di interruzione in un ciclo o in una funzione ricorsiva, oppure se hai molti punti di interruzione attraverso cui passi spesso, usa un punto di interruzione condizionale.
Questo approccio consente di garantire che il codice venga sospeso solo quando vengono soddisfatte condizioni specifiche. Un punto di interruzione condizionale può risparmiare tempo e semplificare il debug dei problemi difficili da riprodurre.
Esaminare il codice
Visual Studio offre diversi modi per indicare al debugger di continuare con l'esecuzione dell'app. L'esempio seguente illustra un comando utile per scorrere il codice.
Mentre il codice viene sospeso in corrispondenza del punto di interruzione, passare il puntatore del mouse sull'istruzione c1.push_back(20) fino a visualizzare l'icona verde Esegui per fare clic (Esegui esecuzione fino a qui).
Selezionare l'icona.
Mentre il codice viene sospeso in corrispondenza del punto di interruzione, passare il puntatore del mouse sull'istruzione c1.AddLast(20) fino a visualizzare l'icona verde Esegui per fare clic (Esegui esecuzione fino a qui).
Selezionare l'icona.
L'app continua l'esecuzione, chiamando doWorke sospende nella riga di codice in cui è stata selezionata l'opzione Esegui per fare clic.
I comandi da tastiera comuni usati per scorrere il codice includono F10 e F11. Per istruzioni più approfondite, vedere Panoramica del debugger Visual Studio.
Esaminare le variabili in un'informazione sui dati
È possibile esaminare lo stato delle variabili usando la funzionalità suggerimento dati .
Nella riga di codice corrente (contrassegnata dal puntatore di esecuzione giallo), passare il puntatore del mouse sull'oggetto
c1per visualizzare la descrizione dati.
Il suggerimento dati mostra il valore corrente della variabile
c1e consente di ispezionarne le proprietà.Quando si esegue il debug, se viene visualizzato un valore imprevisto per una variabile, è probabile che si verifichi un bug. Il bug potrebbe trovarsi nel codice che effettua la chiamata alla variabile o nella riga precedente.
Espandere la descrizione dati per esaminare i valori correnti delle proprietà dell'oggetto
c1.Per continuare a controllare il valore di durante l'esecuzione del codice, selezionare l'icona a forma di
c1puntina
sulla descrizione dati.L'azione di aggiunta mantiene aperta la descrizione dati. Durante l'esecuzione del codice, il valore nel suggerimento fissato cambia per mostrare lo stato corrente dell'oggetto controllato.
Puoi spostare il suggerimento bloccato in qualsiasi punto dell'IDE, in modo che non ti impedisca di osservare altri elementi durante il debug.
Abilitare il ricaricamento rapido durante il debug
Durante il debug, se viene visualizzata una modifica che si vuole testare nel codice, è possibile usare la funzionalità Ricaricamento rapido (precedentemente denominata Edit e Continue).
Selezionare la seconda istanza dell'istruzione
c2.front()e modificare il codice inc2.back().Premere F10 più volte (oppure selezionare Debug>Esegui istruzione senza entrare più volte) per far avanzare il debugger ed eseguire il codice modificato.
F10 sposta in avanti il debugger un'istruzione alla volta, ma esegue passaggi sulle funzioni invece di eseguirle (il codice ignorato continua a essere eseguito).
Per altre informazioni sulle funzionalità e sulle limitazioni, vedere Configurare Ricaricamento rapido.