Procedura: aggiornare i valori delle espressioni di controllo
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
Quando si valuta un'espressione nel debugger, nella colonna Valore possono essere visualizzate due icone di aggiornamento. Un'icona di aggiornamento è un cerchio contenente due frecce che girano in direzioni opposte. L'altra icona è un cerchio contenente due linee ondulate che assomigliano a thread.
Queste icone indicano che il valore visualizzato nel debugger non è corrente. È possibile che il valore sia corretto, ma non è aggiornato. Per evidenziare ulteriormente il fatto, il valore appare di colore grigio. È possibile forzare la valutazione facendo clic sull'icona, ma è necessario comprendere le ragioni dell'icona e le possibili conseguenze.
Se si punta all'icona, una descrizione comando fornisce informazioni sul motivo per cui l'espressione non è stata valutata.
Se vengono visualizzate le frecce che girano in cerchio, l'espressione non è stata valutata per uno dei seguenti motivi:
Si è verificato un errore durante la valutazione dell'espressione. Ad esempio, è possibile che si sia verificato un timeout o che una variabile fosse esterna all'ambito.
La valutazione dell'espressione avrebbe richiesto la valutazione di una proprietà o la creazione di una chiamata di funzione implicita. La valutazione di proprietà e le chiamate di funzione implicite possono avere effetti collaterali che influiscono sullo stato del programma. Poiché questi effetti possono complicare ulteriormente il debug, la valutazione automatica delle proprietà e le chiamate di funzioni implicite da parte del debugger sono spesso disattivate. In alcuni casi, è possibile che un programmatore disattivi inavvertitamente la valutazione automatica. Per ulteriori informazioni sugli effetti collaterali, vedere Espressioni ed effetti secondari.
Se vengono visualizzati i due thread, l'espressione non è stata valutata a causa di una potenziale dipendenza cross-thread. Questo tipo di dipendenza significa che la valutazione del codice richiede l'esecuzione temporanea di altri thread nell'applicazione. Quando ci si trova in modalità di interruzione, in genere tutti i thread nell'applicazione vengono arrestati. L'esecuzione temporanea di altri thread può avere effetti imprevisti sullo stato del programma e può far sì che il debugger ignori alcuni eventi quali i punti di interruzione.
Per aggiornare un valore non aggiornato
Eseguire una delle operazioni seguenti:
Fare clic sull'icona di aggiornamento.
Selezionare il valore, quindi premere la BARRA SPAZIATRICE.
Il debugger tenta di rivalutare l'espressione. Se l'icona di aggiornamento è stata visualizzata perché la valutazione automatica di proprietà e gli effetti collaterali impliciti erano disattivati, l'espressione verrà ora valutata.
Per attivare o disattivare la valutazione automatica delle proprietà
Scegliere Opzioni dal menu Strumenti.
Nella finestra di dialogo Opzioni aprire il nodo Debug e scegliere Generale.
Se il nodo Debug non viene visualizzato, scegliere Mostra tutte le impostazioni.
Selezionare o deselezionare la casella di controllo Attiva valutazione delle proprietà e altre chiamate di funzioni implicite, quindi scegliere OK.