Registrare l'esecuzione del codice con IntelliTrace per il debug in Visual Studio
Per registrare e tracciare la cronologia delle esecuzioni del codice o dell'applicazione con IntelliTrace in Visual Studio Ultimate, avviare il debug come di consueto.Per impostazione predefinita, IntelliTrace è attivato e registra automaticamente dati ed eventi specifici in modo che sia più facile vedere ciò che si è verificato nell'applicazione.Vedere Eseguire il debug dell'app registrando l'esecuzione del codice con IntelliTrace.
Per accertarsi che IntelliTrace sia attivato:
[!NOTA]
Se si deseleziona Abilita IntelliTrace, tutte le impostazioni di IntelliTrace personalizzate vengono disattivate.Queste impostazioni si applicano a tutti i progetti e a tutte le soluzionie vengono mantenute tra le sessioni di debug e quelle di Visual Studio.
Scegliere l'argomento con cui si desidera procedere
Debug con soli eventi
Scegliere gli eventi registrati da IntelliTrace
Debug con eventi e informazioni sulle chiamate
Controllare la quantità di informazioni sulle chiamate registrate da IntelliTrace
Salvare la sessione di IntelliTrace
Debug con soli eventi
Provare a eseguire il debug solo con gli eventi di IntelliTrace per verificare se ciò è sufficiente a individuare il bug.Gli eventi di IntelliTrace sono eventi del debugger, eccezioni, eventi di .NET Framework e altri eventi di sistema.È possibile attivare o disattivare eventi specifici per decidere quali eventi includere nella registrazione di IntelliTrace. Tuttavia, è necessario eseguire questa operazione prima di avviare il debug.
Di seguito è riportata una panoramica visiva del debug con soli eventi di IntelliTrace:
Torna all'inizio
Di seguito sono elencati i passaggi per il debug con soli eventi di IntelliTrace:
Avviare il debug con la modalità consueta.Riprodurre il bug.
Suggerimento Mantenere le finestre Variabili locali e Auto aperte per visualizzare e registrare i valori mostrati.Per avviare il debug, premere F5 oppure scegliere Avvia debug dal menu Debug.Se la finestra IntelliTrace non viene visualizzata all'avvio del debug, è possibile che IntelliTrace non sia attivato o che la finestra sia chiusa.Per aprire la finestra IntelliTrace, andare a Debug, IntelliTrace, Eventi IntelliTrace.
Interrompere l'esecuzione dell'applicazione manualmente.
Suggerimento Dal menu Debug o nella finestra IntelliTrace scegliere Interrompi tutto.
Viene visualizzato un elenco cronologico degli eventi nella finestra IntelliTrace, partendo dal primo evento fino all'ultimo evento registrato prima dell'interruzione del debug.
Individuare l'evento più vicino al punto in cui si è stato riprodotto il bug, in questo caso prima dell'interruzione dell'esecuzione.
Selezionare l'evento per espandere i relativi dettagli.
Se il codice sorgente è disponibile, Visual Studio sposta il puntatore sul codice corrispondente nella finestra di origine per consentirne l'analisi.
Per vedere i dati registrati da IntelliTrace quando si è verificato l'evento, scegliere un collegamento in Visualizzazioni correlate per visualizzare la finestra del debugger corrispondente.
Se si tratta di un evento di accesso al file, scegliere il collegamento al percorso per aprirlo.Se il percorso completo non è disponibile, individuare il file utilizzando la casella di ricerca.
Se il bug non viene trovato, provare ad analizzare altri eventi.È inoltre possibile configurare la registrazione delle informazioni sulle chiamate in modo da analizzare le chiamate alle funzioni.
Torna all'inizio
Scegliere gli eventi registrati da IntelliTrace
È possibile attivare o disattivare la registrazione per eventi di IntelliTrace specifici, tranne che per le eccezioni e gli eventi del debugger, che vengono sempre registrati.
Se il debug è in corso, interromperlo.Altrimenti, riavviarlo dopo aver scelto gli eventi.
Andare a Strumenti, Opzioni, IntelliTrace, Eventi IntelliTrace.Scegliere gli eventi e le categorie di eventi da registrare.
Torna all'inizio
Debug con eventi e informazioni sulle chiamate
Se è necessario esaminare la sequenza di chiamate di funzione dell'applicazione per trovare il bug, IntelliTrace consente di registrare le chiamate di funzione insieme agli eventi.Ciò permette di visualizzare la cronologia dello stack di chiamate, scorrere in avanti e indietro le chiamate nel codice e vedere i dati registrati, ad esempio nomi di funzione, punti di ingresso e di uscita e determinati valori di parametro e valori restituiti.Vedere Eseguire il debug dell'app registrando l'esecuzione del codice con IntelliTrace.
Se il debug è in corso, interromperlo.In caso contrario, riavviare il debug dopo avere attivato la raccolta delle chiamate.
Attivare la raccolta delle chiamate.
Suggerimento Ciò potrebbe rallentare l'applicazione e aumentare la dimensione dei file di log IntelliTrace (file .iTrace) salvati sul disco.Per ottenere la maggior parte dei dati delle chiamate riducendo al contempo gli effetti, registrare solo i dati dei moduli che interessano.Per cambiare la dimensione massima dei file .iTrace, andare a Strumenti, Opzioni, IntelliTrace, Avanzate.
Avviare il debug con la modalità consueta.Riprodurre il bug.
Suggerimento Mantenere le finestre Variabili locali e Auto per visualizzare e registrare i valori mostrati.Per avviare il debug, premere F5 oppure scegliere Avvia debug dal menu Debug.Se la finestra IntelliTrace non viene visualizzata all'avvio del debug, è possibile che IntelliTrace non sia attivato o che la finestra sia chiusa.Per aprire la finestra IntelliTrace, andare a Debug, IntelliTrace, Eventi IntelliTrace.
Interrompere l'esecuzione dell'applicazione manualmente.
Suggerimento Dal menu Debug o nella finestra IntelliTrace scegliere Interrompi tutto.
Individuare l'evento più vicino al punto in cui è stato riprodotto il bug.Vedere Debug solo con eventi.
Selezionare l'evento per espandere i relativi dettagli.Accanto a Visualizzazioni correlate scegliere Visualizzazione chiamate.
Viene visualizzata la cronologia dello stack di chiamate dell'applicazione, partendo dalla chiamata iniziale e finendo con quella corrente, ossia relativa all'evento scelto (non nel senso di chiamata in tempo reale).
Sotto la chiamata corrente è riportato l'elenco rientrato delle chiamate effettuate ad altre funzionie degli eventi di IntelliTrace per la chiamata corrente.
[!NOTA]
Le chiamate vengono visualizzate in grigio perché IntelliTrace non ha registrato i dati dei moduli corrispondenti.Per visualizzare questi dati, impostare la raccolta dei dati da tali moduli.
Individuare la chiamata successiva all'evento sceltoe farvi doppio clic sopra per accedervi.
Nella finestra Visualizzazione chiamate la chiamata a cui si ha avuto accesso diventa la nuova chiamata corrente nella parte inferiore dello stack.L'elenco rientrato ora mostra le chiamate e gli eventi per la nuova chiamata corrente.Anche la finestra di origine e le finestre del debugger vengono aggiornate di conseguenza.
Suggerimento Se si desidera visualizzare solo il sito della chiamata, fare clic sulla chiamata nella finestra Visualizzazione chiamate anziché fare doppio clic.Ciò consente di spostare il puntatore sul sito della chiamata senza tuttavia accedere alla stessa, in modo da lasciare invariata la chiamata corrente.
Per analizzare chiamate ed eventi, utilizzare la barra di navigazione che compare accanto alla finestra di origine quando sono disponibili le informazioni sulle chiamate.Se tale barra non è visibile, andare a Strumenti, Opzioni, IntelliTrace, Avanzate.Scegliere Visualizza la barra di navigazione in modalità debug.
Imposta contesto debugger
Consente di impostare il contesto di debug sull'intervallo di tempo della chiamata dove viene visualizzato.
Questa icona compare solo su ogni frame dello stack di chiamate corrente.
Torna al sito di chiamata
Consente di spostare il puntatore e il contesto di debug indietro al momento in cui è stata chiamata la funzione corrente.
Se è impostata la modalità di debug tradizionale, questo comando determina l'avvio del debug con IntelliTrace.
Vai a chiamata o a evento IntelliTrace precedente
Consente di spostare il puntatore e il contesto di debug indietro all'evento o alla chiamata precedente.
Se è impostata la modalità di debug tradizionale, questo comando determina l'avvio del debug con IntelliTrace.
Entra
Consente di spostare il puntatore e il contesto di debug avanti alla funzione attualmente selezionata.
Questo comando è disponibile solo quando si esegue il debug con IntelliTrace.
Vai a chiamata o a evento IntelliTrace successivo
Consente di spostare il puntatore e il contesto di debug avanti alla chiamata o all'evento successivo per cui esistono dati IntelliTrace.
Questo comando è disponibile solo quando si esegue il debug con IntelliTrace.
Passa alla modalità attiva
Consente di tornare al debug tradizionale in cui è stato avviato il debug con IntelliTrace.
Per trovare un'istanza specifica di una chiamata, cercare nella cronologia di IntelliTrace le istanze registrate della chiamata:
Da una riga di codice in cui viene effettuata la chiamata:
[!NOTA]
Se la riga è l'uscita di un metodo, non si otterranno risultati accurati.
- oppure -
Dal corpo della funzione chiamata:
Assicurarsi che il file di progetto che contiene la funzione sia aperto in Visual Studio.
Aprire il menu di scelta rapida nel corpo della funzione.Scegliere Cerca metodo in IntelliTrace.
Esplorare i risultati per individuare l'istanza desiderata.Selezionare l'istanza per sincronizzare la finestra Visualizzazione chiamate ed esaminare i dati registrati per tale istanza.
Torna all'inizio
Controllare la quantità di informazioni sulle chiamate registrate da IntelliTrace
È possibile disporre delle registrazioni delle informazioni sulle chiamate di IntelliTrace solo per i moduli di interesse.Questo potrebbe migliorare le prestazioni dell'applicazione.
Per aggiungere più moduli, utilizzare il carattere jolly * all'inizio o alla fine della stringa.Per i nomi dei moduli, utilizzare nomi di file e non nomi di assembly.I percorsi file non sono accettati.
[!NOTA]
Anche escludendo determinati moduli, tuttavia, è possibile che vengano raccolti dati relativi a moduli che non interessano, come ad esempio moduli di terze parti o open source.
Torna all'inizio
Salvare la sessione di IntelliTrace
Per continuare la sessione in un secondo momento, salvarla come file di log IntelliTrace (.iTrace).
Salvare la sessione manualmente
Salvare la sessione automaticamente
Suggerimento |
---|
Per risparmiare spazio su disco, disattivare il salvataggio dei file .iTrace quando non sono più necessari.Tutti i file .iTrace esistenti verranno mantenuti. Visual Studio limita la dimensione predefinita del file .iTrace a 250 MB poiché IntelliTrace può raccogliere moltissimi dati.Al raggiungimento di questo limite, le voci immesse per prime vengono eliminate per fare spazio a quelle più recenti.Per salvare più dati rispetto a quelli consentiti dal limite predefinito, modificare la dimensione di registrazione massima del file. Visual Studio crea due file .iTrace per ogni sessione di IntelliTrace quando vengono salvati automaticamente e il processo di hosting di Visual Studio (vshost.exe) è attivato.Viene creato un file .iTrace per l'applicazione e un file .iTrace per il processo di hosting.Questo processo migliora le prestazioni di debug, abilita determinate funzionalità di debug ed è attivato per impostazione predefinita. |
Quali dati sono contenuti nel file .iTrace?
contenente dettagli su eccezioni, thread, richieste Web, dati di test, moduli e altre informazioni di sistema.Quando si apre il file in Visual Studio Ultimate, si seleziona un elemento e si avvia il debug, è possibile passare a qualsiasi evento nel file per esaminare il codice correlato e i dati registrati sull'applicazione in quel momento.Vedere Eseguire il debug dell'app con file di log di IntelliTrace (.iTrace).
Per eseguire il debug di errori o arresti anomali che si verificano durante il test in Microsoft Test Manager ma sono difficili da riprodurre nell'ambiente di sviluppo, provare a configurare Test Manager per la raccolta dei dati IntelliTrace.È possibile salvare tali dati in un file .iTrace e connettersi a un elemento di lavoro di Team Foundation Server per un'analisi più approfondita.Vedere Procedura: raccogliere dati di IntelliTrace per agevolare il debug di problemi complessi.
Per eseguire il debug di errori o arresti anomali che si verificano in punti in cui non si desidera modificare la configurazione del sistema, ad esempio in ambienti di produzione, provare a utilizzare l'agente di raccolta autonomo per salvare i dati IntelliTrace in un file .iTrace.Vedere Raccogliere dati di IntelliTrace all'esterno di Visual Studio con lo strumento di raccolta indipendente.
Torna all'inizio
Dove è possibile ottenere ulteriori informazioni?
Eseguire il debug dell'app registrando l'esecuzione del codice con IntelliTrace
Inclusione di dati di traccia di diagnostica nei bug difficili da riprodurre
Eseguire il debug dell'app con file di log di IntelliTrace (.iTrace)
Blog
Visual Studio ALM + Team Foundation Server
Forum
Pagina relativa al debugger di Visual Studio
Linee guida
Video
Video Channel 9: Raccolta e analisi dei dati IntelliTrace in produzione per il debug