Leggere in inglese

Condividi tramite


Procedura: controllare un'espressione nel debugger

La finestra Espressioni di controllo e la finestra di dialogo Controllo immediato consentono di immettere i nomi di variabili e le espressioni che si desidera controllare in una sessione di debug.

La finestra di dialogo Controllo immediato consente di esaminare una sola variabile o espressione alla volta.È utile per effettuare un rapido controllo di un valore o di una struttura di dati più grande.Nella finestra Espressioni di controllo è possibile archiviare diverse variabili ed espressioni che si desidera visualizzare nel corso della sessione di debug.In alcune edizioni di Visual Studio sono presenti più finestre Espressioni di controllo, numerate da Espressione di controllo 1 a Espressione di controllo 4.

Per ulteriori informazioni sull'apertura della finestra Espressioni di controllo o Controllo immediato, vedere To display a variable window.

Un nome di variabile costituisce l'espressione più semplice che è possibile immettere.Se si esegue il debug di codice nativo, è possibile utilizzare nomi di registro e nomi di variabili.Tuttavia, il debugger è in grado di accettare espressioni più complesse.Ad esempio, è possibile immettere la seguente espressione per trovare il valore medio di tre variabili:

(var1 + var2 + var3) / 3

In C#, è possibile immettere un ID oggetto, o alias, anziché il nome dell'oggetto.

Il debugger accetta la maggior parte delle espressioni di linguaggio valide in una finestra Espressioni di controllo.Per ulteriori informazioni, vedere Espressioni nel debugger.

Se si programma in codice nativo, può essere necessario, in certi casi, qualificare il contesto di un nome di variabile o di un'espressione contenente un nome di variabile.Il termine contesto incorpora la funzione, il file di origine e il modulo in cui risiede una variabile.È possibile utilizzare la sintassi dell'operatore di contesto per questa operazione.Per ulteriori informazioni, vedere Operatore di contesto (espressioni in linguaggio C/C++).

Espressioni che influiscono sullo stato del programma

La valutazione di alcune espressioni può comportare la modifica del valore di una variabile o altri effetti sullo stato del programma.La valutazione della seguente espressione, ad esempio, comporta la modifica del valore di var1:

var1 = var2

Le modifiche dei dati causate dalle espressioni presentano effetti secondari.Se si immette un'espressione che presenta un effetto secondario in una finestra Espressioni di controllo, l'effetto secondario si verificherà a ogni valutazione dell'espressione nella finestra Espressioni di controllo,producendo risultati imprevisti se non si è a conoscenza degli effetti collaterali dell'espressione.Se è noto che un'espressione presenta effetti collaterali, viene valutata una sola volta al momento della prima immissione.Le successive valutazioni vengono disabilitate.È possibile eseguire manualmente l'override di questo comportamento facendo clic su un'icona di aggiornamento visualizzata accanto al valore.

Gli effetti collaterali imprevisti sono spesso il risultato della valutazione della funzione.È possibile, ad esempio, immettere la seguente chiamata di funzione nella finestra Espressioni di controllo:

Func1(var1)

Se si chiama un funzione dalla finestra Espressioni di controllo o Controllo immediato, tale funzione può modificare i dati creando un effetto secondario.Per evitare possibili effetti secondari imprevisti derivanti dalla valutazione della funzione, disattivare la valutazione automatica della funzione nella finestra di dialogo Opzioni.In questo modo viene disabilitata la valutazione automatica delle funzionalità di linguaggio più recenti, quali le proprietà,ma si ottiene maggiore sicurezza.

[!NOTA]

Quando si esamina un'espressione nella finestra Espressioni di controllo, è possibile che venga visualizzata un'icona di aggiornamento costituita da due frecce verdi che ruotano in direzioni opposte all'interno di un cerchio verde,in particolare se si è disattivata la valutazione automatica della funzione.L'icona di aggiornamento indica un errore o un valore non aggiornato.Per ulteriori informazioni, vedere Procedura: aggiornare i valori delle espressioni di controllo.

In codice nativo e in C#, è possibile specificare un formato di visualizzazione per il valore dell'espressione utilizzando identificatori di formato.Per ulteriori informazioni, vedere°Identificatori di formato in C++ e Identificatori di formato in C#.

Nel debugger di Visual Studio vengono automaticamente espansi i tipi di dati comuni per visualizzarne gli elementi più importanti.È possibile aggiungere espansioni per tipi di dati personalizzati.Per ulteriori informazioni, vedere Visualizzazione di tipi di dati personalizzati e Visualizzatori.

[!NOTA]

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma.Per modificare le impostazioni, scegliere Importa/esporta impostazioni dal menu Strumenti.Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per valutare un'espressione nella finestra Espressioni di controllo

  1. Nella finestra Espressioni di controllo fare clic su una riga vuota della colonna Nome.Il debugger deve essere in modalità di interruzione.Digitare o incollare il nome della variabile o l'espressione che si desidera controllare.

    -oppure-

    Trascinare una variabile in una riga della finestra Espressioni di controllo.

  2. Premere INVIO.

    Il risultato verrà visualizzato nella colonna Valore.Se si digita il nome di una matrice o di una variabile oggetto, verrà visualizzato un controllo struttura ad albero accanto al nome nella colonna Nome.Espandere o comprimere la variabile nella colonna Nome.

    L'espressione rimarrà visualizzata nella finestra Espressioni di controllo fino a quando non si provvederà a rimuoverla.

Per valutare un'espressione nella finestra di dialogo Controllo immediato

  1. Nella finestra di dialogo Controllo immediato digitare o incollare la variabile, il registro o l'espressione nella casella di testo Espressione.

  2. Scegliere Rivaluta o premere INVIO.

  3. Il valore verrà visualizzato nella casella Valore corrente.

  4. Se si digita il nome di una matrice o di una variabile oggetto nella casella Espressione, verrà visualizzato un controllo struttura ad albero accanto al nome nella casella Valore corrente.Espandere o comprimere la variabile nella colonna Nome.

Per rivalutare un'espressione precedente nella finestra di dialogo Controllo immediato

  1. Nella finestra di dialogo Controllo immediato fare clic sulla freccia in giù a destra della casella Espressione.

  2. Scegliere una delle espressioni precedenti dall'elenco a discesa.

  3. Scegliere Rivaluta.

Vedere anche

Attività

Procedura: utilizzare le finestre delle variabili di debug

Altre risorse

Finestre delle variabili