Utilizzo di punti di interruzione e punti di analisi
In questo argomento vengono fornite alcune informazioni di base sui punti di interruzione:
Icone dei punti di interruzione
Punti di interruzione di base
Più punti di interruzione in una riga
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 tramite simboli denominati icone, visualizzati nel 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.
Glifo |
Descrizione |
---|---|
![]() |
Punto di interruzione normale.Un'icona pieno indica che il punto di interruzione è attivato.Un'icona vuota indica che è disabilitato. |
![]() |
Punto di interruzione avanzato.Attivo/disabilitato.Il segno + indica che al punto di interruzione è associata almeno una funzionalità avanzata, ad esempio condizione, numero di passaggi o filtro. |
![]() |
Punto di interruzione mappato.Attivo/disabilitato.Il punto di interruzione è impostato nel codice ASP/ASP.NET e mappato a un punto di interruzione nella pagina HTML corrispondente, oppure è impostato in un file di script sul lato server e mappato al file di script sul lato client corrispondente. |
![]() |
Punto di analisi.Attivo/disabilitato.Il raggiungimento di questo punto comporta l'esecuzione di un'azione specificata, ma non l'interruzione del programma. |
![]() |
Punto di analisi avanzato.Attivo/disabilitato.Il segno + indica che al punto di analisi è associata almeno una funzionalità avanzata, ad esempio condizione, numero di passaggi o filtro. |
![]() |
Punto di analisi mappato.Attivo/disabilitato.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, questo significa che il codice in corrispondenza della posizione del punto di interruzione o di analisi non è stato caricato.Il punto esclamativo appare inoltre quando si stabilisce la connessione a un processo e i simboli per tale processo non sono 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 utilizzare i punti di interruzione di base:
Procedura: impostare un punto di interruzione semplice
Procedura: impostare un punto di interruzione di funzione
Procedura: eliminare punti di interruzione
Procedura: abilitare o disabilitare punti di interruzione
Procedura: modificare la posizione di un punto di interruzione
[!NOTA]
Se in un file di origine sono presenti più di 64.000 righe di codice, i punti di interruzione delle righe successive alla numero 64.000 non verranno raggiunti.
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.Viene visualizzata una casella intorno all'istruzione di codice contenente il punto di interruzione correntemente 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 oppure facendo clic sull'istruzione che contiene il punto di interruzione nella finestra di origine.
Punti di interruzione avanzati
In Visual C++ Express o Visual Studio (qualsiasi edizione) è possibile impostare punti di interruzione più avanzati, creare punti di interruzione con funzionalità avanzate e utilizzare 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
Filtri, numeri di passaggi e condizioni sono funzionalità avanzate associabili 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 in 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 descritte negli argomenti riportati di seguito:
Procedura: utilizzare la finestra Punti di interruzione
Procedura: eliminare punti di interruzione
Procedura: abilitare o disabilitare 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 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 ulteriori informazioni sulle limitazioni relative ai punti di interruzione mappati nei file di script, vedere Limitazioni del debug di script.