Funkce IntelliTrace (C#, Visual Basic, C++)
IntelliTrace můžete použít k zaznamenání událostí a volání metod vaší aplikace, což umožňuje prozkoumat její stav (zásobník volání a hodnoty místních proměnných) v různých bodech provádění. Stačí spustit ladění jako obvykle – IntelliTrace je ve výchozím nastavení zapnutá a v novém okně Diagnostické nástroje na kartě Události se zobrazí informace, které IntelliTrace nahrává. Vyberte událost a kliknutím na Aktivovat historické ladění zobrazte zásobník volání a místní hodnoty zaznamenané pro tuto událost.
Podrobný popis najdete v části Návod: Použití IntelliTrace.
IntelliTrace je k dispozici v edici Visual Studio Enterprise, ale ne v edicích Visual Studio Professional nebo Community.
Chcete-li ověřit, že je intelliTrace zapnutá, otevřete stránku možností > nástroje > IntelliTrace. Ve výchozím nastavení by mělo být zaškrtnuté políčko IntelliTrace .
Poznámka:
Rozsah všech nastavení na stránce možností IntelliTrace je Visual Studio jako celek, nikoli jednotlivé projekty nebo řešení. Změna v těchto nastaveních platí pro všechny instance sady Visual Studio, všechny ladicí relace a všechny projekty nebo řešení.
Zvolte události, které IntelliTrace zaznamenává (C#, Visual Basic).
Záznam pro konkrétní události IntelliTrace můžete zapnout nebo vypnout.
Pokud ladíte, zastavte ladění. Přejděte na Možnosti > nástrojů > IntelliTrace – události IntelliTrace>. Zvolte události, které má IntelliTrace zaznamenávat.
Shromažďování snímků (C#, Visual Basic, C++)
Tato možnost není ve výchozím nastavení povolená, ale IntelliTrace dokáže zachytit snímky aplikace při každé události zarážky a kroku ladicího programu a tyto snímky můžete zobrazit v historické relaci ladění. Snímek umožňuje zobrazit úplný stav aplikace. Pokud chcete povolit zachytávání snímků, přejděte do části Možnosti > nástrojů > IntelliTrace > Obecné a vyberte snímky IntelliTrace (spravované a nativní). Další informace najdete v tématu Kontrola předchozích stavů aplikace pomocí IntelliTrace.
Snímky jsou dostupné v sadě Visual Studio Enterprise 2017 verze 15.5 a vyšší a vyžadují Windows 10 Anniversary Update nebo vyšší. Pro aplikace .NET Core a ASP.NET Core se vyžaduje Visual Studio Enterprise 2017 verze 15.7. Pro nativní aplikace určené pro Windows se vyžaduje Visual Studio Enterprise 2017 verze 15.9 Preview 2.
Shromažďování událostí IntelliTrace a informací o volání (C#, Visual Basic)
Tato možnost není ve výchozím nastavení povolená, ale IntelliTrace dokáže zaznamenávat volání metod spolu s událostmi. Pokud chcete povolit shromažďování volání metod, přejděte do > nástroje Možnosti > IntelliTrace > Obecné a vyberte události IntelliTrace a informace o volání (pouze spravované).
Informace o volání nejsou aktuálně k dispozici pro aplikace .NET Core a ASP.NET Core.
Díky tomu uvidíte historii zásobníku volání a krokujte dál a dopředu prostřednictvím volání v kódu. IntelliTrace zaznamenává data, jako jsou názvy metod, vstupní a výstupní body metody, a určité hodnoty parametrů a návratové hodnoty.
Tip
Tato možnost není ve výchozím nastavení povolená, protože přidává značnou režii. IntelliTrace nejen potřebuje zachytit každou metodu volání vaší aplikace, ale musí také řešit mnohem větší sadu dat, pokud jde o zobrazení na obrazovce nebo jeho trvalé uložení na disk.
Režijní náklady na výkon můžete snížit omezením seznamu událostí, které IntelliTrace zaznamenává, a zachováním počtu modulů, které shromažďujete, na minimum. Další informace naleznete v tématu Řízení množství informací o volání IntelliTrace záznamů.
Použití navigačního hřbetu
Můžete použít navigační hřbet, který se zobrazí vlevo od okna kódu. Pokud navigační hřbet nevidíte, přejděte na Možnosti nástrojů IntelliTrace > Upřesnit a vyberte Zobrazit navigační hřbet v režimu ladění.> >
Navigační hřbet umožňuje pohybovat vpřed a vzad prostřednictvím volání metod a událostí v historickém režimu ladění. Další informace o historickém ladění naleznete v tématu Historické ladění. Má několik příkazů:
Příkaz | Popis |
---|---|
Sem nastavte kontext ladicího programu. | Nastavte kontext ladění na časový rámec volání, kde se zobrazí. Tato ikona se zobrazí pouze v aktuálním zásobníku volání. |
Návrat na web volání | Přesuňte ukazatel a kontext ladění zpět do místa, kde byla volána aktuální funkce. Pokud jste v režimu živého ladění, tento příkaz zapne historické ladění. Pokud přejdete zpět na původní konec spuštění, historické ladění je vypnuté a živé ladění je zapnuté. |
Přejít na předchozí volání nebo událost IntelliTrace | Přesuňte ukazatel a kontext ladění zpět na předchozí volání nebo událost. Pokud jste v režimu živého ladění, tento příkaz zapne historické ladění. |
Krok v | Vstupte do aktuálně vybrané funkce. Tento příkaz je k dispozici pouze v případě, že jste v režimu historického ladění. |
Přejít na další volání nebo událost IntelliTrace | Přesuňte kontext ukazatele a ladění do dalšího volání nebo události, pro kterou existují data IntelliTrace. Tento příkaz je k dispozici pouze v případě, že jste v režimu historického ladění. |
Přejít do živého režimu | Vraťte se do režimu živého ladění. |
Vyhledání řádku nebo metody v IntelliTrace
Metody můžete prohledávat pouze v případech, kdy byly povoleny informace o volání metody. V historii IntelliTrace můžete vyhledat konkrétní řádek nebo metodu. Při zastavení provádění ladicího programu klikněte pravým tlačítkem do těla funkce, aby se zobrazila místní nabídka, a klikněte na tlačítko Hledat tento LIne v IntelliTrace nebo Hledat tuto metodu v IntelliTrace.
Řízení množství záznamů IntelliTrace informací o volání
Ve výchozím nastavení IntelliTrace zaznamenává informace o všech modulech používaných vaším řešením. IntelliTrace můžete nastavit tak, aby zaznamenávala informace o volání pouze pro moduly, které vás zajímají. V nástrojích > Možnosti > modulů IntelliTrace> můžete určit moduly, které se mají zahrnout, nebo moduly, které mají být vyloučeny z IntelliTrace. IntelliTrace bude shromažďovat pouze události, které pocházejí z modulů, které jste zadali, a volání metody, ke kterým došlo v modulech, které vás zajímají.
Chcete-li přidat více modulů, použijte zástupný znak * na začátku nebo konci řetězce. V případě názvů modulů použijte názvy souborů, nikoli názvy sestavení. Není možné použít cesty k souborům.
Pokuste se zachovat minimální počet modulů. Získáte lepší výkon, protože se shromažďují méně dat. V uživatelském rozhraní také získáte méně šumu, protože existuje méně dat, která je potřeba projít.
Uložení dat IntelliTrace do souboru (C#, Visual Basic, C++)
Data, která IntelliTrace shromáždila, můžete uložit do ladění > relace IntelliTrace Save IntelliTrace > při ladění a aplikace je ve stavu přerušení. Položka nabídky je zakázaná a nebudete moci uložit data, která intelliTrace shromáždila, pokud je aplikace stále spuštěná nebo pokud jste zastavili ladění.
IntelliTrace můžete nakonfigurovat tak, aby se automaticky ukládaly do souboru tak, že přejdete na Možnosti nástrojů IntelliTrace > Advanced a vyberete Uložit záznamy IntelliTrace v tomto adresáři.> > Můžete také nakonfigurovat velikost sady pro vygenerovaný soubor, což způsobí, že IntelliTrace zapisuje starší data, když vyčerpá místo. Visual Studio vytvoří dva soubory pro každou relaci IntelliTrace, když se automaticky uloží a proces hostování sady Visual Studio (vshost.exe) je zapnutý.
Tip
Pokud chcete ušetřit místo na disku, vypněte ukládání souborů automaticky, když je už nepotřebujete. Žádné existující soubory nebudou odstraněny. Soubor můžete kdykoli uložit na vyžádání z místní nabídky.
Při ukládání dat IntelliTrace do souboru získáte jeden soubor .itrace pro každý proces, ze kterého IntelliTrace shromáždil. Soubor .itrace v sadě Visual Studio pak můžete otevřít tak, že přejdete na > Soubor otevřít > soubor a v dialogovém okně Otevřít soubor vyberete soubor .itrace. Další informace naleznete v tématu Použití uložených dat IntelliTrace.
Blogy
IntelliTrace v sadě Visual Studio Enterprise 2015
IntelliTrace v sadě Visual Studio Enterprise 2015 teď podporuje připojení!
Shromažďování dat ze služby systému Windows pomocí samostatného kolektoru IntelliTrace
Úprava plánu kolekce IntelliTrace
Vlastní TraceSource a ladění pomocí IntelliTrace