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 |
||||
Standard |
||||
Pro e Team |
Legenda tabella:
Applicabile |
|
Non applicabile |
|
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 |
---|---|
Punto di interruzione normale. Un'icona pieno indica che il punto di interruzione è attivato. Un'icona vuota indica che è disattivato. |
|
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. |
|
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. |
|
Punto di analisi. Attivo/disattivato. Il raggiungimento di questo punto comporta l'esecuzione di un'azione specificata, ma non l'interruzione del programma. |
|
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. |
|
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. |
|
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. |
|
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
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.