Share via


Strumentazione in Visual Studio (C#, Visual Basic, C++, F#)

Questo articolo descrive gli strumenti di strumentazione in Visual Studio, usati per raccogliere i conteggi e i tempi di chiamata esatti.

Esistono due tipi di strumentazione:

  • Statico, che modifica i file del programma prima dell'esecuzione (VSInstr)

  • Dinamico, che usa un processo dinamico in cui non modifica i file. Carica i file in memoria e li modifica per raccogliere le informazioni di strumentazione. Usando lo strumento di strumentazione dinamica, si ottengono informazioni più accurate, ma per una parte più piccola del programma. È possibile esaminare piccole sezioni di codice.

La strumentazione dinamica è utile perché:

  • La strumentazione statica interrompe la firma del nome sicuro. Con la strumentazione dinamica, questo problema viene evitato perché la strumentazione avviene in fase di esecuzione.

  • Con la strumentazione statica, i file devono essere distribuiti in un ordine specifico e lo strumento potrebbe non sapere dove si trovano i file. È necessario eseguire manualmente VSInstr. Con il nuovo strumento di strumentazione non è necessario trovare i file. In un programma complesso, trovare tutti i file può essere un processo manuale difficile.

Strumentazione e campionamento

Per quanto riguarda la profilatura, esistono due meccanismi di raccolta dei dati. Raccolta tramite strumentazione o raccolta tramite campionamento. Per informazioni dettagliate, vedere Informazioni sui metodi di raccolta delle prestazioni.

Strumento di strumentazione dinamica

Strumentazione: a partire da Visual Studio 2022 versione 17.5, lo strumento strumentazione fornisce strumentazione dinamica per .NET Core, .NET 5+e .NET Framework. Questo strumento offre prestazioni ottimali per gli scenari di strumentazione. Accedere a questo strumento usando il profiler prestazioni (ALT + F2). Per altre informazioni, vedere l'articolo seguente:

A partire da Visual Studio 2022 versione 17.6, lo strumento di strumentazione supporta anche C/C++, ma usa la strumentazione statica (VSInstr).

Per usare questo strumento dalla riga di comando, vedere l'articolo seguente:

Strumentazione: a partire da Visual Studio 2019 versione 16.9, lo strumento strumentazione fornisce strumentazione dinamica per .NET Core, .NET 5+e .NET Framework (non C/C++). Questo strumento usa una versione di VSInstr.exe che supporta la strumentazione dinamica. Accedere a questo strumento usando il profiler prestazioni (ALT + F2). Per le DLL, è necessario usare invece lo strumento da riga di comando (VSInstr).

Strumento di strumentazione statica

VSInstr : a partire da Visual Studio 2022 versione 17.6, lo strumento Di strumentazione usa VSInstr per il supporto C/C++. VSInstr viene usato anche per gli scenari da riga di comando e funziona per le app .NET Framework e C/C++. Per altre informazioni, vedere l'articolo seguente: