TOC

This article has been localized into Dutch by the community.

Debugging:

Geavanceerde pauzepunten

In een eerder hoofdstuk hebben we het eerste pauzepunt gezet en dat was goed. Maar er is meer te zeggen over pauzepunten, tenminste, als je Visual Studio gebruikt. Het lijkt erop dat Microsoft deze extra debugging functies in enkele Express versies buiten werking heeft gesteld, maar maak je geen zorgen: het is leuk om ze te hebben, maar je kunt er ook zonder. Voor degenen die Visual Studio hebben, zijn hier de interessantste kenmerken die aan het pauzepunt zijn gerelateerd. Je komt erbij door een pauzepunt neer te zetten, dan er rechts op te klikken met de muis en dan de gewenste functie te selecteren.

Voorwaarde (condition)

Met deze optie kun je een voorwaarde definiëren die, waar moet zijn, of, moet worden veranderd, voordat het pauzepunt wordt bereikt. Dit kan werkelijk nuttig zijn als je met meer geavanceerde code te maken hebt, waarbij je de uitvoering alleen maar onder bepaalde omstandigheden wilt stoppen. Je hebt bv een lus die veel tijd vergt voordat die bij de relevante code is gearriveerd. In zo'n situatie zou je eenvoudig een pauzepunt kunnen zetten en dan een passende voorwaarde bedenken. Hier is een tamelijk saai voorbeeld om te laten zien hoe dat werkt:

static void Main(string[] args)
{
    for(int i = 0; i < 10; i++)
        Console.WriteLine("i is " + i);
}

Zet een pauzepunt op de regel waar we naar de console schrijven. Voer nu de applicatie uit. Het pauzepunt wordt steeds getriggerd als de lus wordt uitgevoerd. Maar misschien willen we dat niet. Misschien willen we het alleen maar als i gelijk is aan 4 (de 5e doorloop). Doe dat door een eenvoudige voorwaarde te definiëren, zoals hier:

i == 4

Het pauzepunt wordt nu een beetje wit van binnen en als je de applicatie uitvoert, stopt hij alleen als de i variabele gelijk is aan 4. Je kunt ook de "has changed" (is gewijzigd) optie gebruiken om de debugger te instrueren om alleen maar te stoppen als het resultaat van bovenstaand statement is veranderd, bv. van false naar true.

Tellen van de 'hits'

Met deze dialoog kun je een alternatieve voorwaarde definiëren, gebaseerd op het aantal keren dat het pauzepunt wordt bereikt. Je kunt bv. besluiten dat jouw pauzepunt de uitvoering alleen maar mag stoppen totdat het een aantal keren is bereikt. Er zijn verschillende opties om dit te controleren, afhankelijk van wat je nodig hebt. Gedurende 'debugtijd' kun je deze dialoog checken om te zien hoe vaak het pauzepunt tot dan toe is bereikt.

When hit... ( zodra bereikt...)

Als je deze dialoog gebruikt, kun je alternatief gedrag definiëren voor wanneer het pauzepunt wordt bereikt. Dit kan reuze handig zijn in vele situaties waarbij je niet wilt dat de uitvoering stopt, maar je een bericht over de toestand wilt ontvangen of dat een macro geactiveerd wordt. Je kunt zelf een bericht bedenken en laten verschijnen, waarin je alle mogelijke info kan opnemen over de uitvoering. Voor gevorderde gebruikers zal de optie tot uitvoering van een specifieke macro bij het bereiken van het pauzepunt ook nuttig zijn.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!