Skapa en visuell karta över anropsstacken vid felsökning (C#, Visual Basic, C++, JavaScript)

Skapa en kodkarta för att visuellt spåra anropsstacken medan du felsöker. Du kan göra anteckningar på kartan för att spåra vad koden gör, så att du kan fokusera på att hitta buggar.

Mer information om kommandon och åtgärder som du kan använda med kodkartor finns i Bläddra och ordna om kodkartor.

Viktigt!

Du kan bara skapa kodkartor i Visual Studio Enterprise-utgåvan.

Här är en snabb titt på en kodkarta:

Felsökning med anropsstackar på kodmappningar

Mappa anropsstacken

  1. I ett Visual Studio Enterprise C#-, Visual Basic-, C++- eller JavaScript-projekt börjar du felsöka genom att välja Felsöka>Starta felsökning eller trycka på F5.

  2. När appen har angett brytläge eller om du kliver in i en funktion väljer du Felsök>kodkarta eller trycker på Ctrl+Skift+`.

    Den aktuella anropsstacken visas i orange på en ny kodkarta:

    Se anropsstacken på kodkartan

Kodkartan uppdateras automatiskt när du fortsätter felsökningen. Att ändra mappningsobjekt eller layout påverkar inte koden på något sätt. Byt gärna namn på, flytta eller ta bort något på kartan.

Om du vill ha mer information om ett objekt hovra över det och titta på objektets knappbeskrivning. Du kan också välja Förklaring i verktygsfältet för att lära dig vad varje ikon betyder.

Kodkartslegend

Anmärkning

Meddelandet Diagrammet kan baseras på en äldre version av koden överst på kodkartan innebär att koden kan ha ändrats efter att du senast uppdaterade kartan. Ett anrop på kartan kanske till exempel inte längre finns i koden. Stäng meddelandet och försök sedan återskapa lösningen innan du uppdaterar kartan igen.

Mappa extern kod

Som standard visas endast din egen kod på kartan. Så här ser du extern kod på kartan:

  • Högerklicka i fönstret Samtalsstack och välj Visa extern kod:

    Visa extern kod med hjälp av anropsstackfönstret

  • Eller avmarkera kryssrutan Aktivera just my code i Visual Studio:

    Det här alternativet är tillgängligt i fönstret Verktyg (eller Felsökning) >Alternativ under avsnittet Alla inställningar>Felsökning>Allmänt,:

    Skärmbild som visar hur du väljer alternativet Aktivera bara min kod i Visual Studio.

    Det här alternativet är tillgängligt i dialogrutan Verktyg (eller Felsökning) >i avsnittet Felsöka>allmänt :

    Visa extern kod med hjälp av dialogrutan Alternativ

Kontrollera kartans layout

Att ändra kartans layout påverkar inte koden på något sätt.

Om du vill styra kartans layout väljer du layoutmenyn i kartverktygsfältet.

I layoutmenyn kan du:

  • Ändra standardlayouten.
  • Sluta ordna om kartan automatiskt genom att avmarkera Automatisk layout vid felsökning.
  • Ordna om kartan så lite som möjligt när du lägger till objekt genom att avmarkera Inkrementell layout.

Gör anteckningar om koden

Du kan lägga till kommentarer för att spåra vad som händer i koden.

Om du vill lägga till en kommentar högerklickar du på kodkartan och väljer Redigera>ny kommentar och skriver sedan kommentaren.

Om du vill lägga till en ny rad i en kommentar trycker du på Skift+Retur.

Lägg till kommentar för att anropa stacken på kodkartan

Uppdatera kartan med nästa anropsstack

När du kör din app till nästa brytpunkt eller kliver in i en funktion läggs nya anropsstackar till kartan automatiskt.

Uppdatera kodkartan med nästa anropsstack

Om du vill stoppa kartan från att lägga till nya anropsstackar automatiskt väljer du Visa anropsstacken på kodkartan automatiskt i verktygsfältet för kodkartan. Kartan fortsätter att markera befintliga anropsstackar. Om du vill lägga till den aktuella anropsstacken manuellt på kartan trycker du på Ctrl+Skift+`.

Lägga till relaterad kod på kartan

Nu när du har en karta i C# eller Visual Basic kan du lägga till objekt som fält, egenskaper och andra metoder för att spåra vad som händer i koden.

Om du vill gå till definitionen av en metod i koden dubbelklickar du på metoden på kartan eller markerar den och trycker på F12, eller högerklickar på den och väljer Gå till definition.

Gå till koddefinition för en metod på kodkartan

Om du vill lägga till objekt som du vill spåra på kartan högerklickar du på en metod och väljer de objekt som du vill spåra. De senast tillagda objekten visas i grönt.

Fält som är relaterade till en metod för anropsstackens kodkarta

Anmärkning

Som standardinställning, när objekt läggs till på kartan, kommer också de överordnade gruppnoderna som klassen, namnområdet och assemblyn att läggas till. Du kan inaktivera och aktivera den här funktionen genom att välja knappen Inkludera överordnade i kodkartans verktygsfält eller genom att trycka på Ctrl medan du lägger till objekt.

Visa fält i en metod på anropsstackens kodkarta

Fortsätt att skapa kartan för att se mer kod.

Se metoder som använder ett fält: anropsstackens kodkarta

Metoder som använder ett fält på anropsstackens kodkarta

Hitta buggar med hjälp av kartan

Genom att visualisera koden kan du hitta buggar snabbare. Anta till exempel att du undersöker en bugg i en ritningsapp. När du ritar en linje och försöker ångra den händer ingenting förrän du drar en annan linje.

Så du anger brytpunkter i clearmetoderna , undooch , och Repaint , börjar felsöka och skapar en karta som den här:

Lägg till ytterligare en anropsstack i kodmappningen

Du märker att alla användargester på kartan anropar Repaint, förutom undo. Detta kan förklara varför undo fungerar inte omedelbart.

När du har åtgärdat felet och fortsätter att köra appen lägger kartan till det nya anropet från undo till Repaint:

Lägg till nytt metodanrop för att anropa stacken på kodkartan

Dela kartan med andra

Du kan exportera en karta, skicka den till andra med Microsoft Outlook, spara den i din lösning och kontrollera den i versionskontroll.

Om du vill dela eller spara kartan använder du Dela i verktygsfältet för kodkarta.

Dela kodkarta för anropsstack med andra