Condividi tramite


Raccolta di informazioni di IntelliTrace

Nota di avvisoAttenzione

Nota: in Visual Studio 2010 Ultimate con Service Pack 1, per impostazione predefinita IntelliTrace non effettua più il salvataggio del file di log IntelliTrace (file con estensione .iTrace) alla chiusura. Per informazioni sul salvataggio del file di log IntelliTrace, vedere la sezione Salvataggio dei file di log in questo argomento.

Questo argomento è valido solo per Visual Studio 2010 Ultimate.

In Visual Studio 2010 Ultimate IntelliTrace è abilitato per impostazione predefinita. Durante una sessione di debug attiva, IntelliTrace viene utilizzato in background raccogliendo le relative informazioni in modo automatico e invisibile. Grazie a queste informazioni è possibile passare dalla sessione di debug attiva al debug con IntelliTrace e spostarsi cronologicamente nel codice.

Per impostazione predefinita, tramite IntelliTrace vengono raccolte e registrate informazioni solo per l'evento di IntelliTrace selezionato. Le impostazioni di raccolta predefinite presentano un sovraccarico minimo e non influiscono sull'esecuzione dell'applicazione in uso o sulla possibilità di utilizzare il debugger di Visual Studio.

La raccolta di chiamate e parametri consente a IntelliTrace di fornire funzionalità di debug aggiuntive. Tuttavia, tale raccolta comporterà un sovraccarico delle prestazioni, l'utilizzo dello spazio su disco aggiuntivo nonché la disabilitazione della funzionalità Modifica e continuazione del debugger di Visual Studio. È necessario pertanto valutare costi e vantaggi di un particolare scenario di applicazione e debug.

Le opzioni relative alla raccolta vengono impostate a livello di Visual Studio e vengono applicate a tutti i progetti e soluzioni di Visual Basic e C#. Tali opzioni persistono tra le sessioni di debug e quelle di Visual Studio.

In questo argomento

  • Salvataggio dei file di log

  • Eventi di IntelliTrace

  • Chiamate e parametri

  • Configurazione della raccolta dal modulo

Salvataggio dei file di log

Per impostazione predefinita, IntelliTrace non salva i file di log IntelliTrace (file con estensione .iTrace) dopo la chiusura di Visual Studio. È possibile modificare il comportamento predefinito per abilitare il salvataggio di tutti i file di log di IntelliTrace oppure salvare manualmente i file di log IntelliTrace, come descritto nelle procedure indicate di seguito.

Per modificare il comportamento predefinito dei file di log IntelliTrace

  1. Scegliere Opzioni dal menu Strumenti.

  2. Nell'elenco delle categorie di opzione espandere il nodo IntelliTrace e fare clic su Avanzate.

  3. Effettuare una delle attività seguenti:

    1. Se si desidera salvare tutti i file di log IntelliTrace (file con estensione .iTrace), selezionare Archivia le registrazioni IntelliTrace nella directory, quindi specificare il percorso della cartella nella quale si desidera che i file vengano salvati.

    2. Se si desidera che file .iTrace vengano eliminati quando si chiude Visual Studio, a meno che non vengano salvati manualmente, deselezionare Archivia le registrazioni IntelliTrace nella directory.

  4. Fare clic su OK per salvare le modifiche apportate.

Per salvare manualmente un file di log IntelliTrace

  1. Fare clic sul pulsante Salva la sessione corrente di IntelliTrace sulla barra degli strumenti della finestra IntelliTrace.

  2. Nella finestra di dialogo Salva con nome specificare il nome del file in cui si desidera salvare la sessione e quindi fare clic su Salva.

Eventi di IntelliTrace

Gli eventi di IntelliTrace si verificano durante l'esecuzione dell'applicazione, possono essere raccolti da IntelliTrace e sono dei tipi seguenti:

  • Eventi del debugger. Si tratta di eventi che si verificano all'interno del debugger di Visual Studio durante il debug dell'applicazione. L'avvio dell'applicazione è un evento del debugger. Altri eventi del debugger sono gli eventi di arresto ovvero quegli eventi che comportano l'attivazione dello stato di interruzione dell'applicazione in uso. Esempi di eventi di arresto sono il rilevamento di un punto di interruzione, di un punto di analisi o l'esecuzione di un comando Passaggio.

    Per motivi di prestazioni, IntelliTrace non raccoglie tutti i valori possibili per ogni evento del debugger. Al contrario, IntelliTrace raccoglie i valori visibili all'utente. Se la finestra Auto è aperta, ad esempio, IntelliTrace raccoglie i valori visibili nella finestra Auto. Se la finestra Auto è chiusa, tali valori non vengono raccolti.

    Se si punta a una variabile in una finestra di origine, viene raccolto il valore visualizzato in DataTip. I valori in un DataTip bloccato, tuttavia, non vengono raccolti.

  • Eventi di eccezione. Si verificano per le eccezioni gestite, in corrispondenza dei punti in cui vene generata o individuata l'eccezione, e per le eccezioni non gestite. IntelliTrace consente di raccogliere il tipo di eccezione e il messaggio di eccezione.

  • Eventi del framework. Si verificano all'interno della libreria .NET. È possibile visualizzare un elenco completo degli eventi .NET che possono essere raccolti nella pagina Eventi di IntelliTrace della finestra di dialogo Opzioni. I dati raccolti da IntelliTrace variano in base all'evento. Per un evento Accesso ai file, IntelliTrace raccoglie il nome del file. Per un evento Verifica casella di controllo, raccoglie lo stato della casella di controllo e il testo, e così via.

Per visualizzare un elenco di eventi di IntelliTrace raccolti fare clic sulla scheda Eventi di IntelliTrace della finestra di IntelliTrace. Gli eventi del debugger vengono raccolti sempre quando IntelliTrace è abilitato. Non è possibile disattivare il relativo insieme.

La maggior parte degli eventi di .Framework comuni vengono raccolti per impostazione predefinita. È possibile utilizzare la procedura riportata di seguito per selezionare altri eventi di .NET. Inoltre, è possibile disabilitare l'insieme di tutti gli eventi di .NET o anche di uno soltanto. Per ridurre il disordine nella finestra di IntelliTrace è necessario disabilitare la raccolta di eventi che non interessano. L'abilitazione o la disabilitazione della raccolta di eventi specifici generalmente ha un impatto minimo sulle prestazioni dell'applicazione.

Per scegliere quali eventi di IntelliTrace registrare

  1. Fare clic sull'icona Apri impostazioni di IntelliTrace sulla barra degli strumenti della finestra di IntelliTrace.

    -oppure-

    1. Scegliere Opzioni dal menu Strumenti.

    2. Nella finestra di dialogo Opzioni selezionare il nodo IntelliTrace, quindi fare clic su Generale.

  2. Verificare che Abilita IntelliTrace sia selezionato.

    Nota

    Se si deseleziona la casella di controllo Abilita IntelliTrace tutte le impostazioni personalizzate verranno disabilitate.

  3. Nel nodo IntelliTrace fare clic su Eventi IntelliTrace.

  4. Cercare la casella Eventi di IntelliTrace per trovare le categorie di eventi alle quali si è interessati.

    1. Fare clic sul controllo di struttura ad albero accanto al nome Categoria per visualizzare i singoli eventi. È possibile, ad esempio, espandere Registro di sistema per visualizzare eventi specifici del Registro di sistema quale ClosedRegistryKey.

    2. Per abilitare o disabilitare la registrazione dell'intera categoria di eventi, selezionare o deselezionare la casella di controllo accanto al nome della categoria.

    3. Per abilitare o disabilitare la registrazione di un evento specifico, selezionare o deselezionare la casella di controllo accanto al nome dell'evento specifico.

  5. Scegliere OK.

  6. Se si sta eseguendo il debug, è necessario riavviare la sessione di debug per rendere effettive le modifiche.

Chiamate e parametri

Se sono necessarie ulteriori informazioni durante il debug con IntelliTrace, è possibile scegliere di raccogliere informazioni sulle chiamate e sui relativi parametri. La raccolta di informazioni sulle chiamate può avere implicazioni sulle prestazioni dell'applicazione, comportare un aumento della dimensione dei file di log

e inoltre non è compatibile con la funzionalità Modifica e continuazione del debugger di Visual Studio. Se si sceglie di raccogliere informazioni sulla chiamata, la funzionalità Modifica e continuazione viene disabilitata automaticamente e non può essere abilitata di nuovo mentre è abilitata la raccolta di informazioni sulle chiamate.

Quando si abilita Eventi di IntelliTrace e informazioni sulle chiamate, tramite IntelliTrace viene raccolto un record relativo agli ingressi e alle uscite di ciascuna chiamata. Relativamente all'ingresso, IntelliTrace consente di raccogliere informazioni sul nome e sul valore di ogni parametro. Per quanto riguarda le matrici, vengono registrati solo i primi 256 oggetti. Per quanto riguarda gli oggetti, viene registrato solo il livello superiore della struttura. Relativamente all'uscita, IntelliTrace consente di raccogliere il valore restituito del metodo.

Per abilitare la raccolta di informazioni sulle chiamate

  1. Nella finestra di dialogo Opzioni fare clic su Generale nel nodo IntelliTrace.

  2. Scegliere Eventi di IntelliTrace e informazioni sulle chiamate nella pagina Generale.

  3. Scegliere OK.

Configurazione della raccolta dal modulo

È possibile attivare o disattivare la raccolta di informazioni di IntelliTrace per moduli specifici. Questa funzionalità è utile in quanto determinati moduli potrebbero non servire ai fini del debug. Ad esempio, è possibile eseguire il debug di una soluzione che include progetti DLL legacy che vengono testati in modo appropriato e sottoposti a un debug completo. L'esclusione di moduli non utili evita confusione nella finestra di IntelliTrace e facilita la concentrazione sul codice di interesse. Inoltre, è possibile migliorare le prestazioni e ridurre lo spazio su disco utilizzato dal file di log. La differenza può essere significativa se si è scelto di raccogliere chiamate e parametri.

Per raccogliere dati dai moduli selezionati

  1. Nella finestra di dialogo Opzioni fare clic su Moduli nel nodo IntelliTrace.

  2. Selezionare Raccogli dati da tutti i moduli tranne i seguenti o Raccogli dati solo dai moduli specificati.

    Al di sotto di tale impostazione è disponibile un elenco di nomi di moduli.

  3. Per rimuovere un modulo dall'elenco selezionare il nome del modulo e fare clic sul pulsante Rimuovi.

  4. Per aggiungere un modulo all'elenco:

    1. Fare clic sul pulsante Aggiungi.

      Verrà visualizzata la finestra di dialogo Aggiungi modello.

    2. Nella casella Immettere un modello di stringa da cercare digitare il nome del modulo che si desidera aggiungere all'elenco. È possibile utilizzare identificatori del carattere jolly all'inizio o alla fine della stringa per aggiungere più moduli.

    3. Scegliere Aggiungi.

    I nomi dei moduli devono essere nomi di file e non nomi di assembly. I percorsi file non sono accettati.

  5. Scegliere OK.

    Nota

    Se la raccolta è impostata su Solo eventi nella pagina Generale, le impostazioni dei moduli non hanno effetto.

Vedere anche

Concetti

Debug con IntelliTrace