Procedura: impostare un punto di interruzione di dati (solo nativo)
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Solo nativo |
||||
Pro, Premium e Ultimate |
Solo nativo |
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 disabilitati 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 disabilitarlo prima che la funzione termini.
Visual Studio supporta un massimo di quattro punti di interruzione dei dati per soluzione.
Nota
Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida in quanto dipendono dall'edizione o dalle impostazioni in uso. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
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.
Verrà 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, digitare &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.