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 maggiori informazioni, consultare 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:
- Profilatura delle app dalla riga di comando.
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 maggiori informazioni, consultare l'articolo seguente:
- Raccogliere dati di intervallo dettagliati per un'applicazione autonoma usando la riga di comando del profiler.