Granska konfigurationsalternativ för brytpunkt
- 6 minuter
Felsökningsprogram används för att hjälpa dig att analysera koden och kan användas för att styra programmets körning. När du startar Felsökningsprogrammet för Visual Studio Code börjar den omedelbart köra koden. Eftersom koden körs på mikrosekunder beror effektiv kodfelsökning på att du kan pausa programmet på alla instruktioner i koden. Brytpunkter används för att ange var kodkörningen ska pausas.
Ange brytpunkter
Visual Studio Code innehåller flera sätt att konfigurera brytpunkter i koden. Till exempel:
- Kodredigerare: Du kan ange en brytpunkt i Visual Studio Code-redigeraren genom att klicka i kolumnen till vänster om ett radnummer.
- Kör-menyn: Du kan aktivera/inaktivera en brytpunkt från Menyn Kör . Den aktuella kodraden i redigeraren anger var åtgärden Växla brytpunkt tillämpas.
När en brytpunkt har angetts visas en röd cirkel till vänster om radnumret i redigeraren. När du kör din kod i felsökningsprogrammet pausar exekveringen vid brytpunkten.
Ta bort, inaktivera och aktivera brytpunkter
När du har angett brytpunkter i programmet och använt dem för att isolera ett problem kanske du vill ta bort eller inaktivera brytpunkterna.
Om du vill ta bort en brytpunkt upprepar du den åtgärd som används för att ange en brytpunkt. Klicka till exempel på den röda cirkeln till vänster om radnumret eller använd alternativet växla brytpunkt på Menyn Kör .
Vad händer om du vill behålla en brytpunktsplats, men inte vill att den ska utlösas under nästa felsökningssession? Med Visual Studio Code kan du "inaktivera" en brytpunkt i stället för att ta bort den helt och hållet. Om du vill inaktivera en aktiv brytpunkt högerklickar du på den röda punkten till vänster om radnumret och väljer sedan Inaktivera brytpunkt på snabbmenyn.
När du inaktiverar en brytpunkt ändras den röda punkten till vänster om linjenumret till en grå punkt.
Anmärkning
Snabbmenyn som visas när du högerklickar på en brytpunkt innehåller även alternativen Ta bort brytpunkt (Ta bort) och Redigera brytpunkt. Alternativet Redigera brytpunkt granskas i avsnittet Villkorsstyrda brytpunkter och Logpoints senare i den här lektionen.
Förutom att hantera enskilda brytpunkter i redigeraren innehåller menyn Kör alternativ för att utföra massåtgärder som fungerar på alla brytpunkter:
- Aktivera alla brytpunkter: Använd det här alternativet om du vill aktivera alla inaktiverade brytpunkter.
- Inaktivera alla brytpunkter: Använd det här alternativet om du vill inaktivera alla brytpunkter.
- Ta bort alla brytpunkter: Använd det här alternativet om du vill ta bort alla brytpunkter (både aktiverade och inaktiverade brytpunkter tas bort).
Villkorsstyrda brytpunkter
En villkorlig brytpunkt är en särskild typ av brytpunkt som bara utlöses när ett angivet villkor uppfylls. Du kan till exempel skapa en villkorlig brytpunkt som pausar körningen när en variabel med namnet numItems är större än 5.
Du har redan sett att högerklicka på en brytpunkt öppnar en snabbmeny som innehåller alternativet Redigera brytpunkt . Om du väljer Redigera brytpunkt kan du ändra en standard brytpunkt till en villkorlig brytpunkt.
Förutom att redigera en befintlig brytpunkt kan du också ange en villkorlig brytpunkt direkt. Om du högerklickar (i stället för att vänsterklicka) för att ange en ny brytpunkt kan du välja att skapa en villkorlig brytpunkt.
När du skapar en villkorlig brytpunkt måste du ange ett uttryck som representerar villkoret.
Varje gång felsökaren stöter på den villkorliga brytpunkten utvärderas uttrycket. Om uttrycket utvärderas till true utlöses brytpunkten, och körningen pausas. Om uttrycket utvärderas som falsefortsätter körningen som om det inte fanns någon brytpunkt.
Anta till exempel att du behöver felsöka kod som finns i kodblocket i en for loop. Du har märkt att problemet du felsöker inträffar först när loopen har slutfört flera iterationer. Du bestämmer dig för att brytpunkten ska utlösas när loopens iterationskontrollvariabel, i, är större än tre. Du skapar en villkorlig brytpunkt och anger uttrycket i > 3.
När du kör din kod i felsökningsprogrammet hoppar den över brytpunkten tills den iteration då i > 3 utvärderas som true. När i = 4 pausas körningen vid din villkorliga brytpunkt.
Stöd för Hit Count brytpunkter och Logpoints
C#-felsökningsprogrammet för Visual Studio Code stöder Hit Count även brytpunkter och Logpoints.
En brytpunkt för antal träffar kan användas för att ange hur många gånger en brytpunkt måste påträffas innan körningen "avbryts". Du kan ange ett värde för antal träffar när du skapar en ny brytpunkt (med åtgärden Lägg till villkorsstyrd brytpunkt) eller när du ändrar en befintlig (med åtgärden Redigera villkor). I båda fallen öppnas en infogad textruta med en nedrullningsbar meny där du kan ange värdet för antal träffar.
En "Logpoint" är en variant av en brytpunkt som inte "bryter sig in" i felsökningsprogrammet utan i stället loggar ett meddelande till konsolen. Loggpunkter är särskilt användbara för att mata in loggning vid felsökning av produktionsmiljöer som inte kan pausas eller stoppas. En Logpoint representeras av en rombformad ikon i stället för en fylld cirkel. Loggmeddelanden är oformaterad text men kan innehålla uttryck som ska utvärderas inom klammerparenteser ('{}').
Loggpunkter kan innehålla ett villkorsuttryck och/eller "antal träffar" för att ytterligare kontrollera när loggningsmeddelanden genereras. Du kan till exempel kombinera ett Logpoint-meddelande av i = {i} med villkoret Hit Count >4 för att generera loggmeddelanden på följande sätt:
Sammanfattning
Här följer några viktiga saker att komma ihåg från den här lektionen:
- Med Visual Studio Code kan du ange brytpunkter i kodredigeraren eller från menyn Kör . Brytpunktskodrader markeras med en röd punkt till vänster om radnumret.
- Brytpunkter kan tas bort eller inaktiveras med samma alternativ som används för att ange dem. Bulkoperationer som påverkar alla brytpunkter är tillgängliga på menyn Kör.
- Villkorsstyrda brytpunkter kan användas för att pausa körningen när ett angivet villkor uppfylls eller när 'antalet träffar' har nåtts.
- Loggpunkter kan användas för att logga information till terminalen utan att pausa körningen eller infoga kod.