Mapování konkrétních závislostí na mapách kódu
Pokud chcete se dozvědět specifické závislosti ve vašem kódu, vizualizovat jejich vytvořením map kódu (Visual Studio Ultimate pouze).Přejděte na tyto relace pomocí mapování, která se zobrazí vedle vašeho kódu.Díky tomu můžete sledovat jakém místě v kódu při práci.
Ukazuje zelenou šipku, kde se ukazatel se objeví v editoru. Na mapě si můžete dělat poznámky stejně jako na papír.
Mapy kódu umožňují předcházet ztrátě orientace v rozsáhlých kódech, neznámém kódu nebo starším kódu.Při ladění bude například pravděpodobně nutné ověřit kód v mnoha souborech a projektech.Mapy kódu umožňují navigaci v těchto částech kódu a zobrazení vztahů mezi nimi.Nemusíte si pamatovat celý tento kód, sledovat jednotlivé soubory nebo kreslit samostatné schéma na papír.Pokud musíte přerušit práci, mapy kódu vám pomohou připomenout si kód, na kterém jste pracovali.
Vytvořte nebo otevřete mapy kódu
Chcete-li vytvořit mapu kódu je nutné Visual Studio Ultimate 2013 a řešení, které má Visual C# .NET, Visual Basic .NET, X ++ pro Microsoft Dynamics AX nebo kódu jazyka C++ (omezená podpora).Chcete-li získat barevně relace, bude nutné Visual Studio 2013 Update 3.Pro mapování kódu X ++ a kód, který je sdílen mezi více aplikacemi, budete potřebovat Visual Studio 2013 Update 2 nebo novější.
Je možné vytvořit mapy kódu podle:
Pravým tlačítkem myši na položku například zdrojového souboru nebo binární soubor v Průzkumníku řešení a výběrem příkazu Zobrazit na mapě kódu.Tím se vytvoří mapa kódu pro vybranou položku.
Přetažení položky například zdrojového souboru nebo binárního souboru z Průzkumníka řešení na mapování kódu open zahrnout a zvýrazněte položku v mapě.
Pravým tlačítkem myši na prázdnou oblast v okně editoru a výběrem Zobrazit na mapě kódu.Tím se vytvoří nové mapování prázdný kód.
Pravým tlačítkem myši na objektu nebo třídy v okně editoru a výběrem příkazu Zobrazit na mapě kódu.Tím se vytvoří mapa kódu pro vybranou položku.Můžete také vyhledat všechny odkazy nebo související položky zobrazit na mapě kódu pomocí této nabídky.
Klepnutím na položku mapy kódu na tlačítko ladění menu, pokud aplikace je pozastavena.
Ze souboru open IntelliTrace, nebo jako graf závislosti z Architektura nabídky.
Je možné zobrazení, provádět omezené úpravy, a přejděte kód map pomocí Visual Studio Premium 2013 nebo Visual Studio Professional 2013.
Před maps sdílíte s jinými uživateli, kteří použít Premium nebo Professional, ujistěte se, že jsou všechny položky na mapě viditelný, například skryté položky, rozbalený skupin a seskupení křížových odkazů.
Podívejte se, jak map kódu ve akce: Principy komplexní kódu pomocí mapy kódu (Channel 9)
Pochopení problému
Předpokládejme, že je chyba v programu kreslení, na kterém právě pracujete.Chcete-li reprodukovat chybu, otevřete řešení v aplikaci Visual Studio Ultimate a stiskněte klávesu F5 pro spuštění ladění.
Když nakreslíte čáru a zvolíte Vrátit zpět poslední tah, nic se nestane, dokud nenakreslíte další čáru.
Takže začnete zjišťovat hledáním metody Undo.Najdete ho ve třídě PaintCanvas.
Spuštění mapování kódu
Nyní spusťte mapování metody undo a jejích vztahů.V editoru kódu přidejte metodu undo a pole, která odkazují na mapu s novým kódem.Když vytvoříte nové mapování, může zaindexování kódu trvat nějakou dobu.To pomáhá rychlejšímu běhu pozdějších operací.
Tip
Zelené zvýraznění zobrazí poslední položky, které byly přidány do mapy.Zelená šipka ukazuje pozici kurzoru v kódu.Šipky mezi položkami představují různé vztahy.Na mapě můžete získat další informace o položkách prozkoumáním jejich popisků.
Procházení a zkoumání kódu z mapy
Chcete-li zobrazit definici kódu pro každé pole, poklepejte na pole na mapě nebo vyberte pole a stiskněte klávesu F12.Zelená šipka se přesune mezi položkami na mapě.Kurzor v editoru kódu se také přesune automaticky.
Tip
Zelenou šipku na mapě můžete také přesunout přesunutím kurzoru v editoru kódu.
Pochopení vztahů mezi částmi kódu
Nyní chcete vědět, jaký další kód spolupracuje s poli history a paintObjects.Můžete do mapy přidat všechny metody, které odkazují na tato pole.To lze provést z mapy nebo z kódu.
Změňte rozložení a uspořádejte tak tok vztahů a usnadněte čtení z mapy.Položky kolem mapy lze také přesunout přetažením.
Tip
Ve výchozím nastavení je Přírůstkové rozložení zapnuto.To při přidání nových položek mění uspořádání mapy co nejméně.Chcete-li uspořádat celou mapu při každém přidání nových položek, vypněte možnost Přírůstkové rozložení.
Podívejme se na tyto metody.Na mapě dvakrát klikněte na metodou PaintCanvas nebo zvolte tuto metodu a stiskněte klávesu F12.Zjistíte, že tato metoda vytvoří history a paintObjects jako prázdný seznam.
Nyní opakujte stejný postup k prozkoumání definice metody clear.Zjistíte, že clear provádí úkoly v rámci paintObjects a history.Poté volá metodu Repaint.
Nyní prozkoumejte definici metody addPaintObject.Provádí také některé úkoly s objekty history a paintObjects.Volá také funkci Repaint.
Nalezení příčiny problému prozkoumáním mapy
Zdá se, že všechny metody, které mění objekty history a paintObjects, volají funkci Repaint.Metoda undo přesto nevolá Repaint, i když undo mění stejná pole.Takže si myslíte, že tento problém můžete vyřešit voláním Repaint z undo.
Pokud by nebyla nastavena mapa k zobrazení tohoto chybějícího volání, mohlo by být nalezení tohoto problému obtížnější, zejména u složitějšího kódu.
Sdílení zjištění a další kroky
Předtím, než vy nebo někdo jiný tuto chybu vyřeší, si můžete dělat na mapě poznámky o problému a způsobu jeho řešení.
Můžete například přidat komentáře do mapy a označit položky pomocí barev.
Pokud máte nainstalovanou aplikaci Microsoft Outlook, můžete mapu e-mailem odeslat ostatním.Mapu taky můžete exportovat jako obrázek nebo jiný formát.
Vyřešení problému a zobrazení provedené činnosti
Chcete-li vyřešit tuto chybu, přidejte volání pro Repaint do undo.
Chcete-li potvrdit svou opravu, restartujte relaci ladění a zkuste chybu reprodukovat.Nyní volba Vrátit zpět poslední tah funguje podle očekávání a potvrdí provedení správné opravy.
Můžete aktualizovat mapu, aby zobrazovala provedené opravy.
Mapa nyní zobrazuje spojení mezi zpět a Překreslit.
[!POZNÁMKA]
Při aktualizaci mapy se může zobrazit zpráva, že byl aktualizován index kódu použitý k vytvoření mapy.To znamená, že někdo změnil kód, což způsobilo, že se vaše mapa neshoduje s aktuálním kódem.To vám nezabrání v aktualizaci mapy, ale chcete-li ověřit, že mapa odpovídá kódu, pravděpodobně ji budete muset znovu vytvořit.
Nyní je vaše šetření hotovo.Úspěšně jste našli a opravili problém pomocí mapování kódu.Máte k dispozici také mapu, která usnadňuje navigaci v rámci kódu, zapamatuje si, co jste se naučili, a zobrazí kroky, které jste provedli v zájmu vyřešení problému.
Viz také
Koncepty
Mapování metod v zásobníku volání při ladění v sadě Visual Studio