Procedura: impostare un punto di interruzione di dati (solo nativo)
Aggiornamento: novembre 2007
Le informazioni contenute in questo argomento sono valide per:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Solo nativo |
|||
Standard |
Solo nativo |
|||
Pro e Team |
Solo nativo |
Legenda tabella:
Applicabile |
|
Non applicabile |
|
Comando o comandi nascosti per impostazione predefinita. |
I punti di interruzione dei dati interrompono l'esecuzione quando viene scritto un valore archiviato in una posizione di memoria specificata. Se il valore viene letto ma non scritto, l'esecuzione non viene interrotta.
I punti di interruzione dei dati non funzionano in presenza di queste condizioni: se un processo non sottoposto a debug scrive nella posizione di memoria o se tale posizione è condivisa da due o più processi. I punti di interruzione dei dati non funzionano, inoltre, se la posizione di memoria viene aggiornata all'interno del kernel. Ad esempio, se passata alla funzione ReadFile di Windows a 32 bit, la memoria verrà aggiornata dalla modalità kernel e il debugger non verrà interrotto durante la scrittura nella memoria.
Per impostare i punti di interruzione dei dati, è necessario che il debugger sia solo in modalità di interruzione.
Gli indirizzi di variabili vengono modificati da una sessione di debug a quella successiva. Per questo motivo, i punti di interruzione di dati vengono disattivati automaticamente alla fine di ogni sessione di debug.
Se un punto di interruzione dei dati viene impostato su una variabile locale, resta attivato anche quando la funzione termina. Tuttavia, poiché l'indirizzo di memoria su cui è impostato non ha più lo stesso significato, i risultati di tale punto di interruzione saranno imprevisti. Se si imposta un punto di interruzione dei dati su una variabile locale, la procedura consigliata consiste nel rimuoverlo o disattivarlo prima che la funzione termini.
Visual Studio supporta un massimo di quattro punti di interruzione dei dati per soluzione.
Nota: |
---|
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida in linea 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 impostare un punto di interruzione di modifica della memoria
Scegliere Nuovo punto di interruzione dal menu Debug, quindi fare clic su Nuovo punto di interruzione dei dati.
—oppure—
Nel menu della finestra Punti di interruzione fare clic su Nuovo, quindi scegliere Nuovo punto di interruzione dei dati.
Viene visualizzata la finestra di dialogo Nuovo punto di interruzione.
Nella casella Indirizzo digitare un indirizzo di memoria o un'espressione che restituisca un indirizzo di memoria. Ad esempio, &avar per eseguire l'interruzione quando viene modificato il contenuto della variabile avar.
Nella casella Conteggio byte digitare il numero di byte che si desidera controllare tramite il debugger. Ad esempio, se si digita 4, il debugger controllerà i quattro byte a partire da &myFunction e si interromperà se viene modificato il valore di uno di questi byte.
Scegliere OK.