Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie worden de hulpprogramma's voor foutopsporing geïntroduceerd die beschikbaar zijn in Visual Studio.
Belangrijk
Alle sneltoetsen zijn gebaseerd op de standaardwaarden van Visual Studio. Uw sneltoetsen kunnen variëren. Zie sneltoetsen in Visual Studio voor meer informatie.
Vereiste voorwaarden
Deze zelfstudie werkt met de console-app die u maakt in Een .NET-consoletoepassing maken met behulp van Visual Studio.
Gebruik de Debug-buildconfiguratie
Fouten opsporen en vrijgeven zijn ingebouwde buildconfiguraties van Visual Studio. U gebruikt de buildconfiguratie voor foutopsporing en de releaseconfiguratie voor de definitieve releasedistributie.
In de configuratie voor foutopsporing compileert een programma met volledige symbolische foutopsporingsgegevens en geen optimalisatie. Optimalisatie maakt foutopsporing ingewikkeld, omdat de relatie tussen broncode en gegenereerde instructies complexer is. De releaseconfiguratie van een programma heeft geen symbolische foutopsporingsgegevens en is volledig geoptimaliseerd.
Visual Studio maakt standaard gebruik van de buildconfiguratie Voor foutopsporing, dus u hoeft deze niet te wijzigen voordat u fouten opspoort.
Begin met Visual Studio.
Open het project dat u hebt gemaakt in Een .NET-consoletoepassing maken met Visual Studio.
De huidige buildconfiguratie wordt weergegeven op de werkbalk. In de volgende werkbalkafbeelding ziet u dat Visual Studio is geconfigureerd om de foutopsporingsversie van de app te compileren:
Een onderbrekingspunt instellen
Een onderbrekingspunt onderbreekt tijdelijk de uitvoering van de toepassing voordat de regel met het onderbrekingspunt wordt uitgevoerd.
Stel een onderbrekingspunt in op de regel die de naam, datum en tijd weergeeft door op de linkermarge van het codevenster op die regel te klikken. De linkermarge bevindt zich links van de regelnummers. Andere manieren om een onderbrekingspunt in te stellen, zijn door de cursor in de coderegel te plaatsen en vervolgens op F9 te drukken of foutopsporingspunt> te kiezen in de menubalk.
Zoals in de volgende afbeelding wordt weergegeven, geeft Visual Studio de lijn aan waarop het onderbrekingspunt is ingesteld door het te markeren en een rode stip in de linkermarge weer te geven.
Druk op F5 om het programma uit te voeren in de foutopsporingsmodus. Een andere manier om foutopsporing te starten, is door foutopsporing> starten te kiezen in het menu.
Voer een tekenreeks in het consolevenster in wanneer het programma om een naam vraagt en druk op Enter.
De uitvoering van het programma wordt gestopt wanneer het onderbrekingspunt wordt bereikt en voordat de
Console.WriteLinemethode wordt uitgevoerd. In het venster Locals worden de waarden weergegeven van variabelen die zijn gedefinieerd in de methode die momenteel wordt uitgevoerd.
Het venster Direct gebruiken
In het Immediate-venster kunt u communiceren met de toepassing die u aan het debuggen bent. U kunt de waarde van variabelen interactief wijzigen om te zien hoe dit van invloed is op uw programma.
Als het Immediate-venster niet zichtbaar is, geef het dan weer door Debuggen>Windows>Immediate te kiezen.
Voer
name = "Gracie"in het venster Direct in en druk op de Enter-toets.Voer
currentDate = DateTime.Parse("2026-01-14T17:25:00Z").ToUniversalTime()in het venster Direct in en druk op de toets Enter.In het venster Direct wordt de waarde van de tekenreeksvariabele en de eigenschappen van de DateTime waarde weergegeven. Daarnaast worden de waarden van de variabelen bijgewerkt in het venster Locals .
Druk op F5 om door te gaan met de uitvoering van het programma. Een andere manier om door te gaan, is door Debug>Continue te kiezen in het menu.
De waarden die in het consolevenster worden weergegeven, komen overeen met de wijzigingen die u in het venster Direct hebt aangebracht.
Druk op een willekeurige toets om de toepassing af te sluiten en foutopsporing te stoppen.
Een voorwaardelijk onderbrekingspunt instellen
In het programma wordt de tekenreeks weergegeven die de gebruiker invoert. Wat gebeurt er als de gebruiker niets invoert? U kunt dit testen met een handige foutopsporingsfunctie, een voorwaardelijk onderbrekingspunt genoemd.
Klik met de rechtermuisknop op de rode stip die het onderbrekingspunt vertegenwoordigt. Selecteer In het contextmenu Voorwaarden om het dialoogvenster Instellingen voor onderbrekingspunten te openen. Schakel het selectievakje voorwaarden in als dit nog niet is geselecteerd.
Editor met paneel voor instellen van breekpunten - C#
Voer voor de voorwaardelijke expressie de volgende code in het tekstveld in.
string.IsNullOrEmpty(name)String.IsNullOrEmpty(name)Telkens wanneer het onderbrekingspunt wordt bereikt, roept de debugger de
String.IsNullOrEmpty(name)methode aan en pauzeert het alleen op deze regel als de methodeaanroeptrueretourneert.In plaats van een voorwaardelijke expressie kunt u een aantal treffers opgeven, waardoor de uitvoering van het programma wordt onderbroken voordat een instructie een opgegeven aantal keren wordt uitgevoerd. Een andere optie is om een filtervoorwaarde op te geven, waardoor de uitvoering van het programma wordt onderbroken op basis van dergelijke kenmerken als een thread-id, procesnaam of threadnaam.
Selecteer en klik op om het dialoogvenster te sluiten.
Start het programma met foutopsporing door op F5 te drukken.
Druk in het consolevenster op Enter wanneer u wordt gevraagd uw naam in te voeren.
Omdat aan de opgegeven voorwaarde (
nameis ofnullString.Empty) is voldaan, stopt de uitvoering van het programma wanneer het onderbrekingspunt wordt bereikt en voordat deConsole.WriteLinemethode wordt uitgevoerd.Selecteer het venster Locals , waarin de waarden worden weergegeven van variabelen die lokaal zijn voor de momenteel uitgevoerde methode. In dit geval
Mainis dit de methode die momenteel wordt uitgevoerd. Let op: de waarde van denamevariabele is"", of String.Empty.Controleer of de waarde een lege tekenreeks is door de volgende instructie in te voeren in het venster Direct en op Enter te drukken. Het resultaat is
true.? name == String.Empty? String.IsNullOrEmpty(name)Het vraagteken stuurt het onmiddellijke venster om een uitdrukking te evalueren.
Druk op F5 om door te gaan met de uitvoering van het programma.
Druk op een willekeurige toets om het consolevenster te sluiten en foutopsporing te stoppen.
Wis het onderbrekingspunt door op de stip in de linkermarge van het codevenster te klikken. Andere manieren om een onderbrekingspunt te wissen, zijn door op F9 te drukken of door onderbrekingspunt voor foutopsporing > in-/uitschakelen te kiezen terwijl de coderegel is geselecteerd.
Een programma doorlopen
Met Visual Studio kunt u ook regel voor regel door een programma lopen en de uitvoering ervan bewaken. Normaal gesproken stelt u een onderbrekingspunt in en volgt u de programmastroom door een klein deel van uw programmacode. Omdat dit programma klein is, kunt u het hele programma doorlopen.
Kies Debug>Step Into. Een andere manier om fouten in één instructie tegelijk op te sporen, is door op F11 te drukken.
Visual Studio markeert en geeft een pijl weer naast de volgende uit te voeren regel.
Op dit moment ziet u in het Locals-venster dat de
argsarray leeg is, en datnameencurrentDatestandaardwaarden hebben. Daarnaast heeft Visual Studio een leeg consolevenster geopend.Druk op F11. Visual Studio markeert nu de volgende uitvoeringsregel. Het lokale venster is ongewijzigd en het consolevenster blijft leeg.
Druk op F11. Visual Studio markeert de instructie die de
namevariabeletoewijzing bevat. In het venster Locals ziet u datnamenullis, en in het consolevenster wordt de tekenreeks "Wat is je naam?" weergegeven.Reageer op de prompt door een tekenreeks in het consolevenster in te voeren en op Enter te drukken. De console reageert niet en de tekenreeks die u hebt ingevoerd, wordt niet weergegeven in het consolevenster, maar de Console.ReadLine methode legt toch uw invoer vast.
Druk op F11. Visual Studio markeert de instructie die de
currentDatevariabeletoewijzing bevat. Het venster Locals toont de waarde die wordt geretourneerd door de aanroep naar de Console.ReadLine methode. In het consolevenster wordt ook de tekenreeks weergegeven die u bij de prompt hebt ingevoerd.Druk op F11. Het venster Locals toont de waarde van de
currentDatevariabele na de toewijzing van de DateTime.Now eigenschap. Het consolevenster is ongewijzigd.Druk op F11. Visual Studio roept de Console.WriteLine(String, Object, Object) methode aan. In het consolevenster wordt de opgemaakte tekenreeks weergegeven.
Kies Foutopsporing>Stap uit. Een andere manier om stapsgewijze uitvoering te stoppen, is door op Shift+F11 te drukken.
In het consolevenster wordt een bericht weergegeven en wordt gewacht totdat u op een toets drukt.
Druk op een willekeurige toets om het consolevenster te sluiten en foutopsporing te stoppen.
Gebruik de Release-buildconfiguratie
Nadat u de foutopsporingsversie van uw toepassing hebt getest, moet u ook de releaseversie compileren en testen. De releaseversie bevat compileroptimalisaties die soms een negatieve invloed kunnen hebben op het gedrag van een toepassing. Compileroptimalisaties die zijn ontworpen om de prestaties te verbeteren, kunnen bijvoorbeeld raceomstandigheden in multithreaded-toepassingen creëren.
Als u de releaseversie van uw consoletoepassing wilt bouwen en testen, wijzigt u de buildconfiguratie op de werkbalk van Foutopsporing in Release.
Wanneer u op F5 drukt of build solution kiest in het menu Build , compileert Visual Studio de releaseversie van de toepassing. U kunt deze testen zoals u de foutopsporingsversie hebt uitgevoerd.
Volgende stappen
In deze zelfstudie hebt u hulpprogramma's voor foutopsporing van Visual Studio gebruikt. In de volgende handleiding publiceert u een uitrolbare versie van de app.