Ladění aplikace pomocí zaznamenávání provádění kódu s použitím technologie IntelliTrace

Abyste strávili méně času laděním aplikace, zaznamenávejte a trasujte historii prostřednictvím spouštění kódu pomocí nástroje IntelliTrace v sadě Visual Studio Ultimate.To vám pomůže hledat chyby snadněji bez nastavování velkého počtu zarážek, protože nástroj IntelliTrace umožňuje:

  • Zaznamenat konkrétní události, ke kterým došlo ve vaší aplikaci.

    Související kód, data, která se zobrazí v můžete zkontrolovat Locals okna během ladicí program události a volání informace o funkci, pokud se rozhodnete ji shromažďování.

  • Omezit restartování vaší aplikace s cílem znovu vyvolat chyby nebo události.

  • Ladění chyb, které je těžké reprodukovat nebo ke kterým dochází při nasazení.

Zde je uveden příklad, jak vám zaznamenávání událostí může pomoci najít chybu v kódu:

Tok vysokou úroveň pouze - události IntelliTrace

Co chcete udělat?

Ladit aplikaci pomocí nástroje IntelliTrace v sadě Visual Studio.

  • Zobrazit minulé události.

  • Zobrazit informace o volání s minulými událostmi.

  • Uložit relaci nástroje IntelliTrace.

  • Určit data, která shromažďuje nástroj IntelliTrace.

Shromažďovat data IntelliTrace během testovací relace v nástroji Test Manager.

Shromažďovat data IntelliTrace z aplikací v nasazení.

Spustit ladění ze souboru protokolu IntelliTrace (soubor .iTrace).

Nejčastější dotazy

  • Které aplikace je možné ladit pomocí nástroje IntelliTrace?

  • Proč ladit pomocí nástroje IntelliTrace?

  • Jaká data shromažďuje nástroj IntelliTrace?

  • Zpomalí nástroj IntelliTrace mou aplikaci?

Které aplikace je možné ladit pomocí nástroje IntelliTrace?

Podporováno

Omezená podpora

  • Aplikace v jazyce F# na experimentální bázi

  • Aplikace pro Windows Store podporované pouze pro události

Není podporováno

  • C++, jiné jazyky a skript

  • Služby systému Windows, Silverlight, Xbox, nebo Windows Mobile aplikace

[!POZNÁMKA]

Pokud chcete ladit proces, který je již spuštěn, nelze použít nástroj IntelliTrace.Nástroj IntelliTrace je nutné spustit při spuštění procesu.

Proč ladit pomocí nástroje IntelliTrace?

Tradiční nebo live ladění zobrazuje pouze svou aplikaci aktuálního stavu s omezeným data o posledních událostí.Buď musíte tyto události odvodit na základě aktuálního stavu aplikace, nebo musíte znovu vyvolat tyto události opakovaným spuštěním vaší aplikace.

Nástroj IntelliTrace rozšiřuje toto tradiční ladění zaznamenáváním určitých událostí a dat v těchto bodech v čase.To umožňuje bez restartování zobrazit, co se stalo ve vaší aplikaci, zvláště pokud jste již překročili místo, kde se chyba nachází.Nástroj IntelliTrace je ve výchozím nastavení zapnutý při tradičním ladění a shromažďuje data automaticky a transparentně.To umožňuje snadno přepínat mezi tradičním laděním a laděním pomocí nástroje IntelliTrace a zobrazovat zaznamenané informace.Podívejte se na téma Zaznamenávání provádění kódu během ladění pomocí technologie IntelliTrace a Jaká data IntelliTrace shromažďovat?

Nástroj IntelliTrace vám také může pomoci ladit chyby, které je těžké reprodukovat nebo ke kterým dochází při nasazování.Můžete shromažďovat data IntelliTrace a ukládat je do souboru protokolu IntelliTrace (soubor .iTrace).Soubor .iTrace obsahuje podrobnosti o výjimkách, událostech souvisejících s výkonem, webových požadavcích, testovacích datech, vláknech, modulech a další systémové informace.Tento soubor můžete otevřít v sadě Visual Studio Ultimate, zvolit položku a začít ladění pomocí nástroje IntelliTrace.Můžete tak přejít na libovolnou událost v souboru a zobrazit konkrétní podrobnosti o vaší aplikaci v daném časovém okamžiku.

Můžete ukládat data IntelliTrace z těchto zdrojů:

Zde je několik příkladů, jak nástroj IntelliTrace může pomoci s laděním:

  • Vaše aplikace má poškozený datový soubor, nevíte ale, kde k této události došlo.

    Bez nástroje IntelliTrace musíte prohledat kód a najít všechny možné přístupy k souboru, umístit na tyto přístupy zarážky a znovu spustit aplikaci, abyste našli, kde k tomuto problému dochází.Pomocí nástroje IntelliTrace můžete zobrazit všechny shromážděné události přístupu k souboru a konkrétní podrobnosti o vaší aplikaci, kdy došlo k jednotlivým událostem.

  • Dochází k výjimce.

    Bez nástroje IntelliTrace se zobrazí zpráva o výjimce, nemáte ale mnoho informací o událostech, které k výjimce vedly.Můžete prozkoumat zásobník volání a podívat se na řetězec volání, která vedla k výjimce, ale nelze zobrazit posloupnost událostí, ke kterým došlo během těchto volání.Pomocí nástroje IntelliTrace můžete zkoumat události, ke kterým došlo před výjimkou.

  • Vaše aplikace selhává v testovacím počítači, ale funguje bez problémů ve vývojovém počítači.

    Můžete shromáždit data IntelliTrace z nástroje Microsoft Test Manager, uložit tato data do souboru .iTrace a připojit tento soubor k pracovní položce serveru Team Foundation Server pro pozdější zkoumání.Podívejte se na téma Shromažďování více diagnostických dat v manuálních testech a Ladění aplikace pomocí uložených dat IntelliTrace.

  • K chybě nebo selhání dochází v aplikaci spuštěné v nasazení.

    Pro aplikace založené na platformě Azure společnosti Microsoft můžete konfigurovat shromažďování dat IntelliTrace před publikováním aplikace.Během činnosti aplikace nástroj IntelliTrace ukládá data do souboru .iTrace.Podívejte se na téma ladění publikovaných Cloudová služba se IntelliTrace a Visual Studio.

    V případě webových aplikací ASP.NET hostovaných ve službě IIS 7.0, 7.5 a 8.0 a aplikací služby SharePoint 2010 a SharePoint 2013 použijte nástroj Microsoft Monitoring Agent samotný nebo s nástrojem System Center 2012 k ukládání dat nástroje IntelliTrace do souboru .iTrace.

    To je užitečné, pokud chcete diagnostikovat problémy s aplikacemi v nasazení.Podívejte se na téma Shromažďování diagnostických dat za provozu pomocí samostatného nástroje pro shromažďování dat IntelliTrace.

Jaká data shromažďuje nástroj IntelliTrace?

Shromažďování informací o událostech

Ve výchozím nastavení, IntelliTrace zaznamenává pouze události IntelliTrace.Mezi tyto události patří události ladicího programu, výjimky, události rozhraní .NET Framework a další systémové události, které vám mohou pomoci s laděním.Můžete zvolit druhy událostí IntelliTrace, které chcete shromažďovat. Události ladicího programu a výjimky jsou shromažďovány vždy.Podívejte se na téma Konfigurace technologie IntelliTrace ke shromažďování ladicích informací.

  • Události ladicího programu

    Nástroj IntelliTrace vždy zaznamenává události, ke kterým dochází v ladicím programu sady Visual Studio.Například spuštění vaší aplikace je událost ladicího programu.Mezi další události ladicího programu patří události zastavení, které způsobují přerušení provádění vaší aplikace.Můžete například váš program dotkne zarážky, dotkne tracepoint nebo provede Krok příkazu.

    Aby nedocházelo k poklesu výkonu, nezaznamenává nástroj IntelliTrace každou možnou hodnotu události ladicího programu.Zaznamenává pouze tyto hodnoty:

    • Hodnoty v Locals okna.Zachovat Locals okno Otevřít zobrazíte tyto hodnoty.

    • Hodnoty v Autos okna pouze tehdy, pokud Autos je otevřeno okno

    • Hodnoty v Datových tipech, které se zobrazují při přesunutí ukazatele myši nad proměnnou v okně zdroje s cílem zobrazit její hodnotu.Nástroj IntelliTrace neshromažďuje hodnoty v připnutých Datových tipech.

  • Výjimky

    Nástroj IntelliTrace zaznamenává typ výjimky a zprávu pro tyto druhy výjimek:

    • Zpracované výjimky, když je výjimka vyvolána a zachycena

    • Nezpracované výjimky

  • Události .NET Framework

    Standardně nástroj IntelliTrace zaznamenává nejběžnější události rozhraní .NET Framework.Příklad:

    • V případě události Přístup k souboru nástroj IntelliTrace shromažďuje název souboru.

    • V případě události Zaškrtnutí políčka shromažďuje nástroj IntelliTrace stav zaškrtávacího políčka a text.

  • Události aplikace SharePoint 2010 a SharePoint 2013

    Můžete zaznamenat události uživatelského profilu a podmnožinu událostí sjednoceného systému protokolování (ULS) pro aplikace SharePoint 2010 a 2013 spuštěné mimo aplikaci Visual Studio.Tyto události můžete uložit do souboru .iTrace.Vyžaduje buď Visual Studio Ultimate 2013 nebo Microsoft Monitoring Agent spuštěn v trasování režimu.

    Po otevření souboru .iTrace zadejte ID korelace SharePoint a najděte odpovídající webový požadavek, zobrazte zaznamenané události a spusťte ladění od určité události.Obsahuje-li soubor neošetřené výjimky, lze ID korelace vybrat pro ladění výjimky.

    Další informace:

Shromažďování informací o volání funkcí

Nástroj IntelliTrace můžete nakonfigurovat na shromažďování informací o volání funkcí.Tyto informace umožňují zobrazit historii zásobníku volání a umožňují krokovat zpět a vpřed mezi voláními v kódu.Pro každé volání funkce nástroj IntelliTrace zaznamenává tato data:

  • Název funkce

  • Hodnoty primitivních datových typů předané jako parametry na vstupech funkcí a vrácené na výstupech funkcí

  • Hodnoty automatických vlastností při jejich čtení nebo změně

  • Ukazatele na podřízené objekty první úrovně, avšak nikoli jejich hodnoty, ale pouze to, zda je jejich hodnota null

[!POZNÁMKA]

IntelliTrace shromažďuje pouze prvních 256 objektů v polích a prvních 256 znaků v řetězcích.

Podívejte se na téma Konfigurace technologie IntelliTrace ke shromažďování ladicích informací.

Shromažďování informací o modulech

Pro řízení množství informací o voláních shromažďovaných nástrojem IntelliTrace zadejte pouze ty moduly, které vás zajímají.To může pomoci zvýšit výkon aplikace během shromažďování.Podívejte se na téma Konfigurace technologie IntelliTrace ke shromažďování ladicích informací.

Zpomalí nástroj IntelliTrace mou aplikaci?

Nástroj IntelliTrace standardně shromažďuje pouze data pro vybrané události IntelliTrace.To může nebo nemusí zpomalit aplikaci v závislosti na struktuře a organizaci kódu.Například, pokud nástroj IntelliTrace zaznamenává událost často, může to zpomalit vaši aplikaci, ale může vás to také přimět ke zvážení refaktoringu vaší aplikace.

Shromažďování informací o voláních může aplikaci výrazně zpomalit.Může také dojít ke zvětšení všech souborů protokolu IntelliTrace (.iTrace) ukládaných na disk.Pro minimalizaci negativních dopadů shromažďujte informace o volání pouze u modulů, které vás zajímají.Chcete-li změnit maximální velikost souborů .iTrace, přejděte na Nástroje, Možnosti, IntelliTrace, Upřesnit.Podívejte se na téma Konfigurace technologie IntelliTrace ke shromažďování ladicích informací.

Kde lze získat další informace?

Zaznamenávání provádění kódu během ladění pomocí technologie IntelliTrace

Konfigurace technologie IntelliTrace ke shromažďování ladicích informací

Zahrnutí diagnostických dat trasování s obtížně reprodukovatelnými chybami

Nastavení vaší verze k diagnostikování problémů po nasazení

Ladění aplikace pomocí uložených dat IntelliTrace

Blogy

Správy životního cyklu aplikací sady visual Studio + Team Foundation Server

Diskuzní fóra

Sady visual Studio diagnostiku

Doprovodné materiály

Testování průběžně odesílané pomocí sady Visual Studio 2012 – kapitola 6: testovacích nástrojů