Condividi tramite


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

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro, Premium e Ultimate

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

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

  1. 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.

  2. 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.

  3. 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.

  4. Scegliere OK.

Vedere anche

Concetti

Punti di interruzione e punti di analisi