Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kodkartor i Visual Studio kan hjälpa dig att undvika att gå vilse i stora kodbaser, okänd kod eller äldre kod. När du till exempel felsöker kan du behöva titta på kod i många filer och projekt. Använd kodkartor för att navigera runt kodstycken och förstå relationerna mellan dem. På så sätt behöver du inte hålla reda på den här koden i huvudet eller rita ett separat diagram. När ditt arbete avbryts hjälper kodkartor därför till att uppdatera minnet om koden du arbetar med.
En grön pil visar var markören visas i redigeraren
Mer information om de kommandon och åtgärder som du kan använda när du arbetar med kodkartor finns i Bläddra och ordna om kodkartor.
Läs mer om felsökning i Visual Studio med felsökningsverktyget.
Anmärkning
För att skapa och redigera kodkartor behöver du Visual Studio Enterprise-utgåvan. I Visual Studio Community- och Professional-utgåvor kan du öppna diagram som har genererats i Enterprise-utgåvan, men du kan inte redigera dem.
Förstå problemet
Anta att det finns en bugg i ett ritningsprogram som du arbetar med. Om du vill återskapa felet öppnar du lösningen i Visual Studio och trycker på F5 för att börja felsöka.
När du ritar en linje och väljer Ångra min sista linje händer ingenting förrän du ritar nästa rad.
Så du börjar undersöka genom att söka Undo efter metoden. Du hittar den i PaintCanvas klassen.
Börja mappa koden
Börja nu mappa undo metoden och dess relationer. Från kodredigeraren lägger du till undo metoden och fälten som den refererar till till en ny kodkarta. När du skapar en ny karta kan det ta lite tid att indexera koden. Detta hjälper senare åtgärder att köras snabbare.
Tips/Råd
Den gröna markeringen visar de sista objekten som lades till på kartan. Den gröna pilen visar markörens position i koden. Pilar mellan objekt representerar olika relationer. Du kan få mer information om objekt på kartan genom att flytta musen över dem och undersöka knappbeskrivningarna.
Navigera och granska kod från kartan
Om du vill se koddefinitionen för varje fält dubbelklickar du på fältet på kartan eller väljer fältet och trycker på F12. Den gröna pilen flyttas mellan objekt på kartan. Markören i kodredigeraren flyttas också automatiskt.
Tips/Råd
Du kan också flytta den gröna pilen på kartan genom att flytta markören i kodredigeraren.
Förstå relationer mellan koddelar
Nu vill du veta vilken annan kod som interagerar med fälten history och paintObjects . Du kan lägga till alla metoder som refererar till dessa fält på kartan. Du kan göra detta från kartan eller från kodredigeraren.
Anmärkning
Om du lägger till objekt från ett projekt som delas mellan flera appar, till exempel Windows Phone eller Windows Store, visas alltid dessa objekt med det aktiva appprojektet på kartan. Om du ändrar kontexten till ett annat appprojekt ändras kontexten på kartan även för eventuella nyligen tillagda objekt från det delade projektet. Åtgärder som du utför med ett objekt på kartan gäller endast för objekt som delar samma kontext.
Ändra layouten för att ordna om flödet av relationer och göra kartan enklare att läsa. Du kan också flytta objekt runt kartan genom att dra dem.
Tips/Råd
Inkrementell layout är aktiverat som standard. Detta ordnar om kartan så lite som möjligt när du lägger till nya objekt. Om du vill ordna om hela kartan varje gång du lägger till nya objekt inaktiverar du Inkrementell layout.
Nu ska vi undersöka dessa metoder. Dubbelklicka på metoden PaintCanvas på kartan eller välj den här metoden och tryck på F12. Du får lära dig att den här metoden skapar history och paintObjects som tomma listor.
Upprepa nu samma steg för att undersöka metoddefinitionen clear . Du lär dig att clear utföra vissa uppgifter med paintObjects och history. Sedan anropas Repaint metoden.
Granska nu metoddefinitionen addPaintObject . Den utför också vissa uppgifter med history och paintObjects. Den anropar också Repaint.
Hitta problemet genom att undersöka kartan
Det verkar som om alla metoder som ändrar history och paintObjects anropar Repaint. Ändå anropar inte undo metoden Repaint, även om undo ändrar samma fält. Så du tror att du kan åtgärda det här problemet genom att anropa Repaint från undo.
Om du inte hade någon karta för att visa det här saknade anropet kan det ha varit svårare att hitta det här problemet, särskilt med mer komplex kod.
Dela din upptäckt och nästa steg
Innan du eller någon annan åtgärdar felet kan du göra anteckningar på kartan om problemet och hur du åtgärdar det.
Du kan till exempel lägga till kommentarer på kartan och flagga objekt med hjälp av färger.
Om du har Installerat Microsoft Outlook kan du skicka kartan via e-post till andra. Du kan också exportera kartan som en bild eller ett annat format.
Åtgärda problemet och visa vad du gjorde
Du kan åtgärda felet genom att lägga till anropet för Repaint till undo.
För att bekräfta korrigeringen startar du om felsökningssessionen och försöker återskapa felet. Nu när du väljer Ångra min senaste strykning fungerar det som förväntat och bekräftar att du har gjort rätt korrigering.
Du kan uppdatera kartan för att visa korrigeringen du har gjort.
Kartan visar nu en länk mellan ångra och Återställa målning.
Anmärkning
När du uppdaterar kartan kan du se ett meddelande om att kodindexet som användes för att skapa kartan uppdaterades. Det innebär att någon har ändrat koden, vilket gör att kartan inte matchar den aktuella koden. Detta hindrar dig inte från att uppdatera kartan, men du kan behöva återskapa kartan för att bekräfta att den matchar koden.
Nu är du klar med utredningen. Du har hittat och åtgärdat problemet genom att mappa koden. Du har också en karta som hjälper dig att navigera runt koden, komma ihåg vad du har lärt dig och visar de steg du vidtog för att åtgärda problemet.