Spostamento con IntelliTrace
Questo argomento è valido solo per Visual Studio 2010 Ultimate.
Quando si utilizza il debugger di Visual Studio, nelle finestre del debugger viene riportato uno snapshot dello stato dell'applicazione in un determinato momento. Quando si utilizza IntelliTrace, è possibile visualizzare lo stato dell'applicazione in diversi momenti. IntelliTrace consente di registrare lo stato dell'applicazione in corrispondenza di punti predefiniti durante una sessione di debug.
Durante il debug con IntelliTrace, è possibile passare a qualsiasi punto in corrispondenza del quale sono state raccolte informazioni di debug. Quando si passa a un nuovo punto in IntelliTrace, nella finestra di origine viene visualizzato il codice sorgente in cui si è verificato l'evento. Contemporaneamente, la finestra Stack di chiamate e altre finestre del debugger vengono aggiornate per mostrare il contesto in cui si verificato l'evento.
In questo argomento vengono descritte le modalità di utilizzo di IntelliTrace per spostarsi all'interno della cronologia raccolta dell'applicazione.
In questo argomento
Visualizzazione Eventi di IntelliTrace
Visualizzazione Chiamate
Barra di navigazione
Eseguire ricerche nella cronologia di IntelliTrace
Visualizzazione Eventi di IntelliTrace
La visualizzazione Eventi di IntelliTrace è quella predefinita nella finestra di IntelliTrace, che è ancorata a Esplora soluzioni e a Team Explorer per impostazione predefinita.Gli eventi di IntelliTrace vengono sempre raccolti quando IntelliTrace è abilitato. È pertanto possibile utilizzare questa visualizzazione durante qualsiasi sessione di IntelliTrace.
In modalità di debug, nella visualizzazione Eventi di IntelliTrace viene mostrato un elenco di tutti gli eventi raccolti da IntelliTrace durante la sessione di debug. Gli eventi raccolti sono specificati nella finestra di dialogo Opzioni. Per informazioni su come specificare gli eventi da raccogliere, vedere Raccolta di informazioni di IntelliTrace.
Per passare al momento in cui si è verificato un evento di diagnostica
Nella visualizzazione Eventi di IntelliTrace fare clic sull'evento al quale si desidera passare.
Nella finestra di origine viene visualizzato il codice sorgente per il punto in cui si è verificato l'evento, il puntatore all'istruzione viene spostato su tale punto e le finestre del debugger vengono aggiornate in modo da indicare il contesto nel quale si è verificato l'evento.
Visualizzazione Chiamate
Nella visualizzazione Chiamate viene fornita una modalità gerarchica di visualizzazione delle chiamate di spostamento e dei relativi eventi di IntelliTrace associati.
A differenza degli eventi di IntelliTrace, che vengono sempre raccolti quando IntelliTrace è abilitato, le informazioni sulle chiamate vengono raccolte solo se si abilita Eventi di IntelliTrace e informazioni sulle chiamate nella finestra di dialogo Opzioni. Per informazioni su come abilitare questa opzione, vedere Raccolta di informazioni di IntelliTrace.
Per visualizzare la visualizzazione Chiamate
- Sulla barra degli strumenti nella parte superiore della finestra IntelliTrace fare clic sull'icona Mostra visualizzazione Chiamate.
Nella visualizzazione Chiamate viene riportato uno stack di chiamate simile a una versione invertita della finestra Stack di chiamate del debugger. Nella finestra Stack di chiamate la chiamata corrente è posta in alto. Nella visualizzazione Chiamate si trova invece in basso.
Durante il debug con IntelliTrace, con chiamata corrente viene indicata la chiamata in corso nel contesto temporale visualizzato. Non si tratta necessariamente della chiamata corrente in tempo reale.
La visualizzazione Chiamate è posizionata sotto la chiamata corrente e rientrata rispetto ad essa e vi è incluso un elenco di chiamate effettuate dalla chiamata corrente, nonché di eventi di IntelliTrace associati alla chiamata corrente.
Per passare dalla chiamata corrente a un'altra chiamata
Nell'elenco di chiamate in posizione rientrata sotto la chiamata corrente fare doppio clic sulla chiamata alla quale si desidera passare.
La visualizzazione Chiamate viene aggiornata in modo da visualizzare come chiamata corrente la chiamata su cui si è fatto doppio clic. La finestra di origine, il puntatore all'istruzione e le finestre del debugger vengono aggiornate in modo da indicare lo stato dell'applicazione per la nuova chiamata corrente.
Per passare a un sito di chiamata all'interno della chiamata corrente
Nell'elenco di chiamate in posizione rientrata sotto la chiamata corrente selezionare una chiamata.
Non fare doppio clic sulla chiamata. Facendo doppio clic si passerà alla chiamata stessa, anziché al sito di chiamata.
Nella finestra di origine, il puntatore all'istruzione si sposta sul sito di chiamata. La finestra Stack di chiamate non viene modificata perché si utilizza ancora la stessa chiamata.
Per passare a un evento di IntelliTrace all'interno della chiamata corrente
Fare clic su un evento di IntelliTrace visualizzato sotto la chiamata corrente.
Nella finestra di origine, il puntatore all'istruzione si sposta sul sito di chiamata.
Barra di navigazione
Si tratta di un altro strumento di navigazione disponibile solo se è stato abilitato Eventi di IntelliTrace e informazioni sulle chiamate nella finestra di dialogo Opzioni. La barra di navigazione viene visualizzata accanto alla finestra di origine, tra la barra di debug standard e il margine. La barra di debug standard è la banda verticale in cui vengono visualizzati il puntatore all'istruzione corrente e le icone dei punti di interruzione.
È possibile utilizzare la barra di navigazione sia durante il debug attivo sia durante il debug con IntelliTrace. Il colore della barra di navigazione varia per indicare la modalità impostata. Il colore predefinito nel debug attivo è grigio chiaro. Durante il debug con IntelliTrace, il colore predefinito è grigio scuro.
Per impostazione predefinita, la barra di navigazione viene visualizzata. Nei casi in cui i metodi e i parametri non vengono raccolti, IntelliTrace è disattivato o è stato disabilitato dall'utente nella finestra di dialogo Opzioni, tuttavia, non viene visualizzata. Se la barra di navigazione viene disattivata e si desidera riattivarla, vedere Procedura: abilitare o disabilitare la barra di navigazione.
Nella barra di navigazione sono disponibili le icone di navigazione seguenti, come mostrato nell'illustrazione precedente. Si noti che Ritorna al sito di chiamata e Entra sono comandi equivalenti e opposti, come Vai all'evento precedente e Vai all'evento successivo.
Ritorna al sito di chiamata consente di far tornare il puntatore all'istruzione e il contesto di debug al momento in cui la funzione o il metodo corrente è stato chiamato. Se è impostata la modalità di debug attivo, questo comando determina l'avvio del debug con IntelliTrace.
Entra consente di spostare il puntatore all'istruzione e il contesto di debug avanti alla funzione attualmente evidenziata. Questo comando è disponibile solo quando si esegue il debug con IntelliTrace. Entra e Ritorna al sito di chiamata consentono di spostarsi nelle opposte direzioni.
Vai alla chiamata o all'evento di IntelliTrace precedente consente di spostare indietro il puntatore all'istruzione e il contesto di debug all'ultima chiamata o all'ultimo evento. Se si utilizza il debug attivo, questo comando determina l'avvio del debug con IntelliTrace.
Vai alla chiamata o all'evento di IntelliTrace successivo consente di spostare avanti il puntatore all'istruzione e il contesto di debug alla successiva chiamata o al successivo evento per cui sono disponibili dati IntelliTrace. Questo comando è disponibile solo quando si esegue il debug con IntelliTrace.
Passa alla modalità attiva consente di tornare al debug attivo nel momento in cui è stato avviato il debug con IntelliTrace.
L'opzione Imposta contesto debugger viene visualizzata in ogni frame dello stack di chiamate corrente. Fare clic per impostare il contesto di debug sul frame di chiamata dove viene visualizzato.
Queste icone, eccetto Imposta contesto debugger, sono accessibili anche dal menu di IntelliTrace, annidato sotto il menu Debug, o dalla barra degli strumenti di IntelliTrace, se si sceglie di visualizzarla. Imposta contesto debugger viene visualizzato solo nella barra di navigazione.
Ricerca nella cronologia di IntelliTrace
Quando Eventi di IntelliTrace e informazioni sulle chiamate è abilitato, IntelliTrace consente di cercare qualsiasi istanza registrata di una chiamata. Una volta trovata l'istanza in questione, è possibile sincronizzare il contesto di IntelliTrace su tale chiamata, quindi utilizzare la finestra di IntelliTrace e le finestre del debugger normali per osservare lo stato dell'applicazione durante l'istanza della chiamata.
Sono disponibili due modalità di ricerca di un'istanza di una chiamata. Una consiste nel selezionare una riga di codice sorgente dalla quale viene effettuata una chiamata. L'altra consiste nel fare clic all'interno del corpo del metodo o della funzione chiamata.
Per trovare un'istanza di una chiamata
In una finestra del codice sorgente
Fare clic con il pulsante destro del mouse su una riga di codice da cui viene effettuata una chiamata, quindi scegliere Cerca riga in IntelliTrace oppure
Fare clic con il pulsante destro del mouse nel corpo di un metodo o di una funzione, quindi scegliere Cerca metodo in IntelliTrace.
I risultati della ricerca vengono visualizzati in una barra orizzontale nella parte superiore della finestra di origine, come mostrato nell'illustrazione seguente. Nei risultati della ricerca viene indicato il numero di istanze trovate in IntelliTrace.
Nella barra dei risultati della ricerca, spostarsi tra i risultati facendo clic su Risultato successivo, Ultimo risultato, Risultato precedente o Primo risultato.
Quando si passa a un'istanza di una chiamata nella barra dei risultati della ricerca, la finestra di visualizzazione Chiamate di IntelliTrace viene sincronizzata automaticamente su tale istanza di chiamata.
Di seguito sono riportate alcune restrizioni relative alla ricerca che è opportuno tenere presenti:
Cerca metodo in IntelliTrace non funziona a meno che il file di progetto che contiene il metodo non sia aperto in Visual Studio.
Cerca riga in IntelliTrace non restituisce risultati accurati se la riga è l'uscita di un metodo.
Vedere anche
Attività
Procedura: abilitare o disabilitare la barra di navigazione
Concetti
Raccolta di informazioni di IntelliTrace