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 najdete v následujícím článku:
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 následující článek:
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 nástroj Instrumentation používá pro podporu jazyka C/C++ VSInstr. 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 následujícím článku: