Share via


Methoden in kaart brengen op de call stack tijdens het debuggen in Visual Studio

Maak een codekaart om de aanroepstack visueel te traceren terwijl je aan het debuggen bent. U kunt notities maken op de kaart om bij te houden wat de code doet, zodat u zich kunt richten op het vinden van fouten.

Foutopsporing met aanroepstacks op codekaarten

U hebt het volgende nodig:

De aanroepstack in kaart brengen

  1. Start met debuggen. (Toetsenbord: F5)

  2. Nadat uw app de onderbrekingsmodus is ingegaan of wanneer u een functie binnengaat, kiest u Codekaart. (Toetsenbord: Ctrl + Shift + `)

    Kies Codekaart om het aanroepstack in kaart te brengen

    De huidige aanroepstack wordt oranje weergegeven op een nieuwe codekaart:

    Aanroepstack op codekaart bekijken

    De kaart wordt automatisch bijgewerkt terwijl u doorgaat met foutopsporing. Zie De kaart bijwerken met de volgende aanroepstack.

Notities maken over de code

Voeg opmerkingen toe om bij te houden wat er in de code gebeurt. Als u een nieuwe regel in een opmerking wilt toevoegen, drukt u op Shift+Return.

Opmerking toevoegen om stack aan te roepen op codekaart

De kaart bijwerken met de volgende aanroepstack

Voer uw app uit tot het volgende breekpunt of stap in een functie. De map voegt een nieuwe aanroepstack toe.

Codeoverzicht bijwerken met volgende aanroepstack

Gerelateerde code toevoegen aan de kaart

Nu heb je een kaart - wat nu? Als u met C# of Visual Basic werkt, voegt u items toe, zoals velden, eigenschappen en andere methoden, om bij te houden wat er in de code gebeurt.

Dubbelklik op een methode om de bijbehorende codedefinitie weer te geven of gebruik het snelmenu voor de methode. (Toetsenbord: Selecteer de methode op de kaart en druk op F12)

Ga naar de codedefinitie voor een methode op codeoverzicht

Voeg de items toe die u op de kaart wilt bijhouden.

Velden weergeven in een methode op de oproepstack-codekaart

Opmerking

Als u items aan de kaart toevoegt, worden standaard ook de bovenliggende groepsknooppunten, zoals de klasse, naamruimte en assembly, toegevoegd. Hoewel dit handig is, kunt u de kaart eenvoudig houden door deze functie uit te schakelen met de knop Ouders opnemen op de kaartwerkbalk of door op Ctrl te drukken wanneer u items toevoegt.

Velden die betrekking hebben op een methode in een aanroepstack-codekaart

Hier kunt u eenvoudig zien welke methoden dezelfde velden gebruiken. De laatst toegevoegde items worden groen weergegeven.

Ga door met het bouwen van de kaart om meer code te zien.

Bekijk methoden die een veld gebruiken: aanroepstack-codekaart

Methoden die een veld gebruiken op de aanroepstackcodekaart

Fouten zoeken met behulp van de kaart

Door uw code te visualiseren, kunt u sneller fouten vinden. Stel dat u een fout in een tekenprogramma onderzoekt. Wanneer u een lijn tekent en deze ongedaan wilt maken, gebeurt er niets totdat u een andere lijn tekent.

U stelt dus onderbrekingspunten in de clear, undoen Repaint methoden in, start foutopsporing en bouwt een kaart zoals deze:

Nog een aanroepstack toevoegen aan code map

Je merkt op dat alle gebruikersgebaren op de kaart Repaint oproepen, met uitzondering van undo. Dit verklaart mogelijk waarom undo dit niet onmiddellijk werkt.

Nadat u de fout hebt opgelost en het programma verder hebt uitgevoerd, voegt de kaart de nieuwe aanroep toe van undo naar Repaint.

Nieuwe methode-aanroep toevoegen om stack aan te roepen op codekaart

Vragen en antwoorden

  • Niet alle aanroepen worden op de kaart weergegeven. Why?

    Standaard wordt alleen uw eigen code op de kaart weergegeven. Als u externe code wilt zien, schakelt u deze in het venster Aanroepstack in:

    Externe code weergeven met behulp van het venster Aanroepstack

    of schakel Just My Code uitschakelen uit in de Visual Studio-foutopsporingsopties:

    Externe code weergeven met het dialoogvenster Opties

  • Heeft het wijzigen van de kaart invloed op de code?

    Het wijzigen van de kaart heeft geen invloed op de code. U kunt alles op de kaart hernoemen, verplaatsen of verwijderen.

  • Wat betekent dit bericht: 'Het diagram is mogelijk gebaseerd op een oudere versie van de code'?

    De code is mogelijk gewijzigd nadat u de kaart voor het laatst hebt bijgewerkt. Een aanroep op de kaart bestaat bijvoorbeeld mogelijk niet meer in code. Sluit het bericht en probeer de oplossing opnieuw te bouwen voordat u de kaart opnieuw bijwerkt.

  • Hoe kan ik de indeling van de kaart beheren?

    Open het menu Indeling op de kaartwerkbalk:

    • Wijzig de standaardindeling.

    • Als u wilt stoppen met het automatisch opnieuw rangschikken van de kaart, schakelt u Automatisch indeling uit bij foutopsporing.

    • Als u de kaart zo min mogelijk opnieuw wilt rangschiknen wanneer u items toevoegt, schakelt u Incrementele indeling uit.

  • Kan ik de kaart delen met anderen?

    U kunt de kaart exporteren, naar anderen verzenden als u Microsoft Outlook hebt of opslaan in uw oplossing, zodat u deze kunt inchecken bij broncodebeheer.

    Kaart van aanroepstackcode delen met anderen

  • Hoe kan ik voorkomen dat de kaart automatisch nieuwe aanroepstacks toevoegt?

    Selecteer de knop - Aanroepstapel automatisch op codekaart weergeven op de kaartwerkbalk. Als u de huidige aanroepstack handmatig aan de kaart wilt toevoegen, drukt u op Ctrl + Shift + `.

    De kaart blijft bestaande aanroepstacks op de kaart markeren terwijl u foutopsporing uitvoert.

  • Wat betekenen de itempictogrammen en pijlen?

    Als u meer informatie wilt over een item, beweegt u de muisaanwijzer erop en bekijkt u de knopinfo van het item. U kunt ook de legenda bekijken om te zien wat elk pictogram betekent.

    Wat betekenen pictogrammen op de aanroepstackcodekaart?

    See:

  • De aanroepstack in kaart brengen

  • Notities maken over de code

  • De kaart bijwerken met de volgende aanroepstack

  • Gerelateerde code toevoegen aan de kaart

  • Fouten zoeken met behulp van de kaart