Instrumentace v sadě Visual Studio (C#, Visual Basic, C++, F#)

Tento článek popisuje nástroje instrumentace v sadě Visual Studio, které se používají ke shromažďování přesných počtu volání a doby volání.

Existují dva typy instrumentace:

  • Statická, která upravuje soubory programu před spuštěním (VSInstr)

  • Dynamická, která používá dynamický proces, ve kterém soubory nezmění. Načte soubory do paměti a pak je upraví tak, aby shromažďovaly informace o instrumentaci. Pomocí nástroje pro dynamickou instrumentaci získáte přesnější informace, ale pro menší část programu. Můžete prozkoumat malé části kódu.

Dynamické instrumentace je užitečná, protože:

  • Statické instrumentace přeruší podepisování silných názvů. U dynamické instrumentace se tento problém vyhnete, protože instrumentace probíhá za běhu.

  • Při statické instrumentaci je potřeba nasadit soubory v určitém pořadí a nástroj nemusí vědět, kde jsou soubory. Potřebujete ručně spustit VSInstr. Pomocí nového nástroje pro instrumentaci nemusíte soubory najít. V složitém programu může být nalezení všech souborů obtížné ruční proces.

Instrumentace versus vzorkování

Pokud jde o profilaci, existují dva mechanismy shromažďování dat. Shromažďování pomocí instrumentace nebo kolekce s využitím vzorkování Podrobné informace naleznete v tématu Principy metod shromažďování výkonu.

Nástroj pro dynamickou instrumentaci

Instrumentace – počínaje sadou Visual Studio 2022 verze 17.5 poskytuje nástroj instrumentace dynamické instrumentace pro .NET Core, .NET 5 nebo novější a .NET Framework. Tento nástroj poskytuje nejlepší výkon pro scénáře instrumentace. Přístup k tomuto nástroji pomocí profileru výkonu (Alt + F2). Další informace naleznete v tématu Instrumentace aplikace.

Počínaje sadou Visual Studio 2022 verze 17.6 nástroj instrumentace podporuje také C/C++, ale používá statickou instrumentaci (VSInstr).

Pokud chcete tento nástroj použít z příkazového řádku, přečtěte si téma Profilace aplikací z příkazového řádku.

Instrumentace – počínaje sadou Visual Studio 2019 verze 16.9 poskytuje nástroj instrumentace dynamickou instrumentaci pro .NET Core, .NET 5 nebo novější a .NET Framework (ne C/C++). Tento nástroj používá verzi VSInstr.exe, která podporuje dynamickou instrumentaci. Přístup k tomuto nástroji pomocí profileru výkonu (Alt + F2). Pro knihovny DLL musíte místo toho použít nástroj příkazového řádku (VSInstr).

Nástroj pro statickou instrumentaci

VSInstr – Počínaje sadou Visual Studio 2022 verze 17.6 Preview 2 nástroj Instrumentation používá nástroj VSInstr pro podporu jazyka C/C++. VSInstr se také používá pro scénáře příkazového řádku a funguje pro aplikace .NET Framework a C/C++. Další informace najdete v tématu Shromažďování podrobných dat časování samostatné aplikace pomocí příkazového řádku profileru.