Share via


Variabelen inspecteren in de vensters Auto's en Locals

De Autos en Locals vensters geven variabele waarden weer terwijl u fouten opspoort. De vensters zijn alleen beschikbaar tijdens een foutopsporingssessie. In het venster Autos worden variabelen weergegeven die worden gebruikt rond de huidige instructie waar het foutopsporingsprogramma is gepauzeerd. In het venster Locals worden variabelen weergegeven die zijn gedefinieerd in het lokale bereik. Dit is meestal de huidige functie of methode.

Notitie

Als dit de eerste keer is dat u code probeert op te sporen, kunt u Foutopsporing lezen voor absolute beginners en foutopsporingstechnieken en hulpprogramma's voordat u dit artikel doorloopt.

Het venster Autos is beschikbaar voor C#-, Visual Basic-, C++- en Python-code, maar niet voor JavaScript of F#.

Om het venster Autos te openen, selecteert u tijdens het debuggen Debug>Windows>Autosof drukt u op Ctrl+Alt+V>A.

Tijdens het debuggen, opent u het venster Locals door Debuggen>Windows>Localste selecteren, of door op Alt+4te drukken.

Gebruik de vensters Autos en Locals

Matrices en objecten worden weergegeven in de Autos en Locals vensters als boomstructuurbesturingselementen. Selecteer de pijl links van een variabelenaam om de weergave uit te vouwen om velden en eigenschappen weer te geven. Hier volgt een voorbeeld van een System.IO.FileStream object in het venster Locals:

Schermopname van het venster Locals, met het bestand ingesteld op de waarde System.IO.FileStream.

Schermopname van het venster Locals, met het bestand ingesteld op de waarde System.IO.FileStream.

Een rode waarde in het venster Locals of Autos betekent dat de waarde sinds de laatste evaluatie is gewijzigd. De wijziging kan afkomstig zijn van een vorige foutopsporingssessie of omdat u de waarde in het venster hebt gewijzigd.

De standaardnotatie voor numerieke notatie in foutopsporingsprogrammavensters is decimaal. Als u deze wilt wijzigen in hexadecimaal, klikt u met de rechtermuisknop in het venster Locals of Autos en selecteert u Hexadecimale weergave. Deze wijziging is van invloed op alle foutopsporingsprogrammavensters.

Variabele waarden bewerken in het venster Autos of Locals

Als u de waarden van de meeste variabelen in de Autos of Locals vensters wilt bewerken, dubbelklikt u op de waarde en voert u de nieuwe waarde in.

U kunt een expressie invoeren voor een waarde, bijvoorbeeld a + b. Het foutopsporingsprogramma accepteert de meest geldige taalexpressies.

In systeemeigen C++-code moet u mogelijk de context van een variabelenaam kwalificeren. Zie Contextoperator (C++)voor meer informatie.

Voorzichtigheid

Zorg ervoor dat u de gevolgen begrijpt voordat u waarden en expressies wijzigt. Enkele mogelijke problemen zijn:

  • Het evalueren van sommige expressies kan de waarde van een variabele wijzigen of anderszins van invloed zijn op de status van uw programma. Als u bijvoorbeeld var1 = ++var2 evalueert, wordt de waarde van zowel var1 als var2gewijzigd. Deze uitdrukkingen zouden bijwerkingenhebben. Bijwerkingen kunnen onverwachte resultaten veroorzaken als u er niet van op de hoogte bent.

  • Het bewerken van drijvende-kommawaarden kan leiden tot kleine onnauwkeurigheden vanwege decimale naar binaire conversie van fractionele onderdelen. Zelfs een schijnbaar ongevaarlijke bewerking kan leiden tot wijzigingen in sommige van de bits in de zwevendekomma-variabele.

Zoeken in het venster Autos of Locals

U kunt zoeken naar trefwoorden in de kolommen Naam, Waarde en Type van het Autos of Locals venster met behulp van de zoekbalk boven elk venster. Druk op ENTER of selecteer een van de pijlen om een zoekopdracht uit te voeren. Als u een doorlopende zoekopdracht wilt annuleren, selecteert u het pictogram 'x' in de zoekbalk.

Gebruik de linker- en rechterpijl (Shift+F3 en F3 respectievelijk) om te navigeren tussen gevonden overeenkomsten.

Schermopname van Zoeken in Locals Window

Schermopname van Zoeken in Locals Window

Gebruik de Search Deeper vervolgkeuzelijst boven aan het Autos of Locals venster om te selecteren hoe diep u in de geneste objecten wilt zoeken.

Eigenschappen vastmaken in het venster Auto's of Locals

Notitie

Deze functie wordt ondersteund voor .NET Core 3.0 of hoger.

U kunt objecten snel inspecteren op basis van hun eigenschappen in de vensters Auto's en Locals met het hulpprogramma Vastgemaakte eigenschappen. Als u dit hulpmiddel wilt gebruiken, beweegt u de muisaanwijzer over een eigenschap en selecteert u het speldpictogram dat wordt weergegeven of klikt u met de rechtermuisknop en selecteert u de optie Lid vastmaken als Favoriet in het resulterende contextmenu. Deze eigenschap wordt boven aan de eigenschappenlijst van het object weergegeven en de naam en waarde van de eigenschap worden weergegeven in de kolom Waarde. Als u een eigenschap wilt losmaken, selecteert u het speldpictogram opnieuw of selecteert u de optie Lid losmaken als Favoriet in het snelmenu.

Schermopname van eigenschappen vastmaken in het venster Locals.

U kunt ook eigenschappennamen in- of uitschakelen en niet-vastgemaakte eigenschappen filteren bij het weergeven van de eigenschappenlijst van een object in de vensters Autos en Locals. U kunt elke optie openen door de knoppen te selecteren op de werkbalk boven de vensters Auto's of Locals.

schermopname van favoriete filtereigenschappen.

Schermopname van het in- of uitschakelen van eigenschappennamen.

De context voor het venster Auto's of Locals wijzigen

U kunt de werkbalk Locatie voor foutopsporing gebruiken om een gewenste functie, thread of proces te selecteren, waarmee de context voor de Autos en Locals vensters wordt gewijzigd.

Als u de werkbalk Locatie voor foutopsporing wilt inschakelen, klikt u in een leeg gedeelte van het werkbalkgebied en selecteert u Locatie voor foutopsporing in de vervolgkeuzelijst, of selecteert u >Werkbalken>Foutopsporingslocatie.

Stel een onderbrekingspunt in en begin met foutopsporing. Wanneer het onderbrekingspunt wordt bereikt, wordt de uitvoering onderbroken en ziet u de locatie op de werkbalk Locatie voor foutopsporing.

schermopname van de werkbalk Locatie voor foutopsporing.

schermopname van de werkbalk Debuglocatie.

Hulp bij AI krijgen

Als u Copilot-hebt, kunt u AI-hulp krijgen terwijl u variabelen bekijkt in de vensters Autos of Locals, of in datatips. Klik met de rechtermuisknop op een variabele en gebruik de Ask CopilotScreenshot van de Ask Copilot-knop. knop. In dit scenario kent Copilot al de context voor uw vraag, dus u hoeft zelf geen context te bieden in de chat. Zie Fouten opsporen met Copilotvoor meer informatie.

Variabelen in het venster Autos (C#, C++, Visual Basic, Python)

In verschillende codetalen worden verschillende variabelen weergegeven in het venster Autos.

  • In C# en Visual Basic worden in het venster Autos alle variabelen weergegeven die worden gebruikt op de huidige of voorgaande regel. Declareer bijvoorbeeld in C# of Visual Basic-code de volgende vier variabelen:

         public static void Main()
         {
            int a, b, c, d;
            a = 1;
            b = 2;
            c = 3;
            d = 4;
         }
    

    Stel een onderbrekingspunt in op de regel c = 3;en start het foutopsporingsprogramma. Wanneer de uitvoering wordt onderbroken, wordt het venster Autos weergegeven.

    Schermopname van het venster Autos, met de waarde c ingesteld op 0.

    Schermopname van het venster Autos, met de waarde c ingesteld op 0.

    De waarde van c is 0, omdat de regel c = 3 nog niet is uitgevoerd.

  • In C++ worden in het venster Autos de variabelen weergegeven die in ten minste drie regels worden gebruikt voordat de huidige regel waar de uitvoering is onderbroken. Declareer bijvoorbeeld zes variabelen in C++-code:

         void main() {
             int a, b, c, d, e, f;
             a = 1;
             b = 2;
             c = 3;
             d = 4;
             e = 5;
             f = 6;
         }
    

    Stel een onderbrekingspunt in op de regel e = 5; en voer het foutopsporingsprogramma uit. Wanneer de uitvoering stopt, wordt het venster Autos weergegeven:

    Schermopname van het venster Autos, met de lijn gemarkeerd met de int c met de waarde 3.

    Schermopname van het venster Autos, met de lijn gemarkeerd met de int c met de waarde 3.

    De variabele e is niet geïnitialiseerd, omdat de regel e = 5 nog niet is uitgevoerd.

Retourwaarden van methodeaanroepen weergeven

In .NET- en C++-code kunt u retourwaarden onderzoeken in het venster Autos wanneer u een methodeaanroep over- of uitstapt. Weergave van retourwaarden voor methodeoproep kan handig zijn wanneer ze niet worden opgeslagen in lokale variabelen. Een methode kan worden gebruikt als parameter of als de retourwaarde van een andere methode.

Notitie

Vanaf Visual Studio 2022 versie 17.12 Preview 3 kunt u ook retourwaarden inline weergeven en niet alleen in het venster Autos.

Met de volgende C#-code worden bijvoorbeeld de retourwaarden van twee functies toegevoegd:

static void Main(string[] args)
{
    int a, b, c, d;
    a = 1;
    b = 2;
    c = 3;
    d = 4;
    int x = sumVars(a, b) + subtractVars(c, d);
}

private static int sumVars(int i, int j)
{
    return i + j;
}

private static int subtractVars(int i, int j)
{
    return j - i;
}

De retourwaarden van de sumVars()- en subtractVars() methodeaanroepen in het venster Automatisch weergeven:

  1. Stel een onderbrekingspunt in op de int x = sumVars(a, b) + subtractVars(c, d); regel.

  2. Begin met foutopsporing en wanneer de uitvoering bij het onderbrekingspunt pauzeert, selecteert u Stap Over of drukt u op F10. U ziet nu de volgende retourwaarden in het venster Autos:

    Schermafbeelding van de Autos retourwaarde C#.