Sdílet prostřednictvím


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 své aplikace, zaznamenávejte a trasujte historii jejího spouštění 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.

    To umožňuje prozkoumat související kód, data zobrazená v okně Místní hodnoty během událostí ladicího programu, a informace o voláních funkcí, je-li jejich shromažďování vyžadováno.

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

  • Ladit chyby, které je těžké reprodukovat nebo ke kterým dochází mimo sadu Visual Studio, například v produkčním či jiných prostředích.

Tento příklad ukazuje, jak vám zaznamenávání události může pomoci najít chybu v kódu:

Tok událostí IntelliTrace pouze - vysoká úroveň

Sledujte IntelliTrace v akci: Shromažďování a analýza dat IntelliTrace pro ladění (video Channel 9)

Co chcete udělat?

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

  • Zobrazit minulé události

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

  • Zobrazit 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í běžících mimo sadu Visual Studio

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

Nejčastější dotazy

  • Jaké 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?

Jaké 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

  • Aplikace pro Silverlight, Xbox a Windows Mobile

[!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í neboli živé ladění zobrazuje pouze aktuální stav vaší aplikace s omezenými daty o minulých událostech.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.Viz Zaznamenávání provádění kódu pomocí technologie IntelliTrace za účelem ladění v sadě Visual Studio a Jaká data shromažďuje nástroj IntelliTrace?

Nástroj IntelliTrace vám také může pomoci ladit chyby, které je těžké reprodukovat nebo ke kterým dochází mimo sadu Visual Studio.Můžete shromažďovat data IntelliTrace a ukládat je do souboru protokolu IntelliTrace (soubor .iTrace).Soubor .iTrace obsahuje podrobnosti o výjimkách, vláknech, webových požadavcích, testovacích datech, 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ů:

  • Relace IntelliTrace v sadě Visual Studio Ultimate

  • Testovací relace v nástroji Microsoft Test Manager

  • Aplikace běžící mimo aplikaci Visual Studio, například v produkčním nebo jiném prostředí

  • Visual Studio 2012.1: Aplikace sledované systémem System Center 2012 Service Pack 1 (SP1) - Operations Manager with the IntelliTrace Profiling Management Pack.Informace naleznete v tématu týkajícím se konfigurace integrace s nástrojem IntelliTrace v systému System Center 2012.

Viz téma Ladění aplikace pomocí souborů ITRACE protokolu technologie IntelliTrace.

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á vedly 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í.Více o tématu v Včetně diagnostických dat trasování se chyb, které jsou Difficult k Reproduce a Ladění aplikace pomocí souborů ITRACE protokolu technologie IntelliTrace.

  • Dochází k chybě nebo selhání vaší aplikace, která běží mimo sadu Visual Studio.

    Pro aplikace založené na platformě Windows Azure můžete nakonfigurovat shromažďování dat IntelliTrace před publikováním aplikace.Během činnosti aplikace nástroj IntelliTrace ukládá data do souboru .iTrace.Viz Ladění publikované cloudové služby pomocí nástroje IntelliTrace a sady Visual Studio.

    V případě spravovaných aplikací pracovní plochy (.exe), webových aplikací ASP.NET hostovaných ve službě IIS 7.0, 7.5 a 8.0 a aplikací služby SharePoint 2010 lze k ukládání dat IntelliTrace do souboru .iTrace používat samostatný kolektor.

    To je užitečné, pokud chcete diagnostikovat problémy s aplikacemi spuštěnými tam, kde není žádoucí měnit konfiguraci systému, například v produkčním prostředí.Můžete nainstalovat kolektor beze změny konfigurace systému.Když dokončíte shromažďování dat v kolektoru, stačí jej odstranit a tak jej odinstalujete.Viz téma Shromažďování dat technologie IntelliTrace mimo sadu Visual Studio pomocí samostatného kolektoru.

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

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

Ve výchozím nastavení nástroj 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.Viz téma Konfigurace shromažďování dat technologie IntelliTrace pro ladění v sadě Visual Studio.

  • 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.Například když váš program narazí na zarážku, na zarážku s trasováním nebo provede příkaz Krok.

    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 okně Místní hodnoty.Chcete-li tyto hodnoty vidět, ponechte okno Místní hodnoty otevřené.

    • Hodnoty v okně Automatické hodnoty, pokud je okno Automatické hodnoty otevřené.

    • 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.

  • Visual Studio 2012.1: Události aplikace služby SharePoint 2010

    U aplikací služby SharePoint 2010 spuštěných mimo aplikaci Visual Studio lze zaznamenávat a ukládat určité události SharePoint do souboru .iTrace pomocí samostatného kolektoru v aplikaci Visual Studio 2012.1.

    Po otevření souboru .iTrace lze zadat identifikátor ID korelace SharePoint a najít tak odpovídající webový požadavek, zobrazit zaznamenané události a spustit ladění z určité události.Obsahuje-li soubor neošetřené výjimky, lze identifikátor korelace vybrat pro ladění výjimky.Lze zaznamenat události uživatelského profilu a podmnožinu událostí Sjednoceného systému protokolování (ULS).

    Další informace naleznete v tématech:

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ě, 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.

Viz téma Konfigurace shromažďování dat technologie IntelliTrace pro ladění v sadě Visual Studio.

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 dopomoci ke zvýšení výkonu aplikace během shromažďování.Viz téma Konfigurace shromažďování dat technologie IntelliTrace pro ladění v sadě Visual Studio.

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 pro moduly, 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.Viz téma Konfigurace shromažďování dat technologie IntelliTrace pro ladění v sadě Visual Studio.

Kde lze získat další informace?

Zaznamenávání provádění kódu pomocí technologie IntelliTrace za účelem ladění v sadě Visual Studio

Konfigurace shromažďování dat technologie IntelliTrace pro ladění v sadě Visual Studio

Včetně diagnostických dat trasování se chyb, které jsou Difficult k Reproduce

Shromažďování dat technologie IntelliTrace mimo sadu Visual Studio pomocí samostatného kolektoru

Ladění aplikace pomocí souborů ITRACE protokolu technologie IntelliTrace

Dd264915.collapse_all(cs-cz,VS.110).gifBlogy

Visual Studio ALM + Team Foundation Server

Dd264915.collapse_all(cs-cz,VS.110).gifFóra

Visual Studio Debugger

Dd264915.collapse_all(cs-cz,VS.110).gifPokyny

Testování pro zajištění průběžného dodávání v sadě Visual Studio 2012 – Kapitola 6: Sada testovacích nástrojů

Dd264915.collapse_all(cs-cz,VS.110).gifVidea

Channel 9: Shromažďování a analýza dat IntelliTrace