Cenni preliminari sui punti di interruzione

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento applicabile

Argomento applicabile

Argomento applicabile

Argomento applicabile

Standard

Argomento applicabile

Argomento applicabile

Argomento applicabile

Argomento applicabile

Pro e Team

Argomento applicabile

Argomento applicabile

Argomento applicabile

Argomento applicabile

Legenda tabella:

Argomento applicabile

Applicabile

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

Nelle sezioni riportate di seguito vengono fornite alcune informazioni di base sui punti di interruzione:

  • Icone dei punti di interruzione

  • Punti di interruzione di base

  • Punti di interruzione avanzati

  • Limitazioni dei punti di interruzione

Icone dei punti di interruzione

Nelle finestre di origine e nella finestra Disassembly le posizioni dei punti di interruzione sono indicate con simboli denominati icone posti sul margine sinistro. Nella tabella riportata di seguito vengono descritte le icone.

Se si posiziona il cursore del mouse sull'icona di un punto di interruzione, viene visualizzata una descrizione contenente ulteriori informazioni, particolarmente utili per i punti di interruzione di avviso e di errore.

Icona

Descrizione

Icona debug 1

Punto di interruzione normale. Un'icona pieno indica che il punto di interruzione è attivato. Un'icona vuota indica che è disattivato.

Icona debug 2

Punto di interruzione avanzato. Attivo/disattivato. Il segno + indica che al punto di interruzione è associata almeno una funzionalità avanzata, ad esempio condizioni, passaggi o filtri.

Icona debug 3

Punto di interruzione mappato. Attivo/disattivato. Il punto di interruzione è impostato nel codice ASP/ASP.NET e mappato a un punto di interruzione nella pagina HTML corrispondente o impostato in un file script sul lato server e mappato al file script sul lato client corrispondente.

Icona debug 4

Punto di analisi. Attivo/disattivato. Il raggiungimento di questo punto comporta l'esecuzione di un'azione specificata, ma non l'interruzione del programma.

Icona debug 5

Punto di analisi avanzato. Attivo/disattivato. Il segno + indica che al punto di analisi è associata almeno una funzionalità avanzata, ad esempio condizioni, passaggi o filtri.

Icona debug 6

Punto di analisi mappato. Attivo/disattivato. Il punto di analisi è impostato nel codice ASP/ASP.NET e mappato a un punto di analisi nella pagina HTML corrispondente.

Icona debug 7

Errore del punto di analisi o del punto di interruzione. La X indica che il punto di interruzione o di analisi non è stato impostato a causa di una condizione di errore.

Icona debug 8

Avviso del punto di interruzione o del punto di analisi. Il punto esclamativo indica che il punto di interruzione o di analisi non è stato impostato a causa di una condizione temporanea. In genere, significa che il codice in corrispondenza della posizione del punto di interruzione o di analisi non è stato caricato. È evidente anche quando si stabilisce la connessione a un processo e i simboli per il processo non vengono caricati. Al termine del caricamento del codice o dei simboli, il punto di interruzione risulterà attivato e l'icona assumerà un altro aspetto.

Punti di interruzione di base

I punti di interruzione di base sono quelli impostati su una riga di codice sorgente o su una funzione. Negli argomenti riportati di seguito viene illustrato come impostare e modificare i punti di interruzione di base:

Procedura: impostare un punto di interruzione semplice

Procedura: impostare un punto di interruzione di funzione

Procedura: eliminare un punto di interruzione

Procedura: attivare o disattivare un punto di interruzione

Procedura: modificare la posizione di un punto di interruzione

Procedura: impostare un punto di interruzione in una chiamata di funzione dalla finestra Stack di chiamate

Nota:

Se si dispone di oltre 64.000 righe di codice in un file di origine, non verranno raggiunti i punti di interruzione presenti sulle righe successive alla numero 64.000.

Più punti di interruzione in una riga

È possibile talvolta che in una riga di codice siano presenti più istruzioni eseguibili. In tali casi, è possibile impostare più punti di interruzione nella riga. Una funzionalità nuova in Visual Studio 2008 è una casella che appare intorno all'istruzione del codice che contiene il punto di interruzione attualmente selezionato. Questa casella può essere utile per distinguere più punti di interruzione nella stessa riga di codice. È possibile selezionare un punto di interruzione nella finestra Punti di interruzione o facendo clic sull'istruzione che contiene il punto di interruzione nella finestra di origine.

Punti di interruzione avanzati

In Visual C++ Express Edition o Visual Studio (qualsiasi edizione) è possibile impostare più punti di interruzione avanzati, creare punti di interruzione con funzionalità avanzate e modificare i punti di interruzione in modo più efficiente.

Per alcune attività, le impostazioni predefinite dell'IDE scelte durante l'impostazione di Visual Studio potrebbero nascondere il comando di menu desiderato. Per ulteriori informazioni, vedere Procedura: ripristinare comandi nascosti del debugger.

Punti di interruzione su indirizzi di memoria e modifiche in memoria

È possibile impostare un punto di interruzione su un indirizzo di memoria. Per ulteriori informazioni, vedere Procedura: impostare un punto di interruzione di indirizzo. In C/C++, è possibile impostare un punto di interruzione che viene raggiunto quando cambia la memoria. Per ulteriori informazioni, vedere Procedura: impostare un punto di interruzione di dati (solo nativo).

Filtri, passaggi e condizioni

I filtri, i passaggi e le condizioni sono funzionalità avanzate che è possibile associare a qualsiasi tipo di punto di interruzione, inclusi i punti di analisi.

  • L'applicazione di un filtro comporta l'impostazione di un punto di interruzione su computer, processi e thread specifici. I filtri sono molto utili quando si esegue il debug di un'applicazione in esecuzione su più processori. Per ulteriori informazioni, vedere Procedura: specificare un filtro del punto di interruzione.

  • I passaggi tengono traccia del numero di volte in cui un punto di interruzione viene raggiunto. Per impostazione predefinita, l'esecuzione viene interrotta ogni volta che viene raggiunto un punto di interruzione. È possibile modificare questo comportamento in modo che l'interruzione si verifichi solo quando il numero di passaggi è uguale o maggiore di un valore specificato o quando è multiplo di un determinato valore. Il numero di passaggi specificato viene mantenuto solo per la sessione di debug. Per ulteriori informazioni, vedere Procedura: specificare un numero di passaggi.

  • Una condizione è un'espressione che viene valutata per determinare se il punto di interruzione causerà l'interruzione dell'esecuzione. Per ulteriori informazioni, vedere Procedura: specificare una condizione del punto di interruzione.

Interfaccia dei punti di interruzione avanzati

I membri del gruppo Power users possono utilizzare le funzionalità avanzate negli argomenti riportati di seguito:

Procedura: utilizzare la finestra Punti di interruzione

Procedura: disattivare tutti i punti di interruzione

Procedura: eliminare tutti i punti di interruzione

Limitazioni dei punti di interruzione

Evitare l'impostazione dei punti di interruzione su componenti di sistema durante il debug in modalità mista, di codice nativo e di codice gestito. Tale operazione potrebbe infatti provocare l'interruzione di Common Language Runtime e il blocco del debugger. Per ulteriori informazioni, vedere la classe Procedura: eseguire il debug delle applicazioni in modalità mista.

Il debugger non si collega automaticamente a un servizio Web XML, a meno che non si esegua una chiamata. Ciò significa che qualsiasi punto d'interruzione impostato nel servizio Web XML non sarà raggiunto se non si esegue la chiamata. Se si tenta di eseguire il debug nel punto d'interruzione utilizzando Avvia debug o Continua anziché utilizzare Esegui istruzione, il punto d'interruzione non verrà raggiunto.

Per informazioni sulle limitazioni relative ai punti di interruzione mappati nei file script, vedere Limitazioni del debug di script.

Vedere anche

Concetti

Punti di interruzione e punti di analisi