Share via


Zelfstudie: Fouten opsporen in een .NET-consoletoepassing met Visual Studio Code

In deze zelfstudie worden de hulpprogramma's voor foutopsporing geïntroduceerd die beschikbaar zijn in Visual Studio Code voor het werken met .NET-apps.

Vereisten

Buildconfiguratie voor foutopsporing gebruiken

Fouten opsporen en vrijgeven zijn. Ingebouwde buildconfiguraties van NET. 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.

De opstartinstellingen van Visual Studio Code maken standaard gebruik van de buildconfiguratie voor foutopsporing, dus u hoeft deze niet te wijzigen voordat u fouten opspoort.

  1. Start Visual Studio Code.

  2. Open de map van het project dat u hebt gemaakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.

Een onderbrekingspunt instellen

Een onderbrekingspunt onderbreekt tijdelijk de uitvoering van de toepassing voordat de regel met het onderbrekingspunt wordt uitgevoerd.

  1. Open het bestand Program.cs .

  2. Stel een onderbrekingspunt in op de regel die de naam, datum en tijd weergeeft door in de linkermarge van het codevenster te klikken. De linkermarge bevindt zich links van de regelnummers. Andere manieren om een onderbrekingspunt in te stellen, zijn door op F9 te drukken of run>toggle Breakpoint te kiezen in het menu terwijl de regel code is geselecteerd.

    Visual Studio Code geeft de regel aan waarop het onderbrekingspunt is ingesteld door een rode stip in de linkermarge weer te geven.

    Breakpoint set

Instellen voor terminalinvoer

Het onderbrekingspunt bevindt zich na een methodeaanroep Console.ReadLine . De console voor foutopsporing accepteert geen terminalinvoer voor een actief programma. Als u terminalinvoer wilt verwerken tijdens foutopsporing, kunt u de geïntegreerde terminal (een van de Visual Studio Code-vensters) of een externe terminal gebruiken. Voor deze zelfstudie gebruikt u de geïntegreerde terminal.

  1. De projectmap bevat een .vscode-map . Open het bestand launch.json in de map .vscode .

  2. Wijzig in launch.json de console instelling van internalConsole in integratedTerminal:

    "console": "integratedTerminal",
    
  3. Uw wijzigingen opslaan.

Foutopsporing starten

  1. Open de weergave Foutopsporing door het pictogram Foutopsporing te selecteren in het menu aan de linkerkant.

    Open the Debug tab in Visual Studio Code

  2. Selecteer de groene pijl boven aan het deelvenster, naast .NET Core Launch (console). Andere manieren om het programma in de foutopsporingsmodus te starten, zijn door op F5 te drukken of Run>Start-foutopsporing te kiezen in het menu.

    Start debugging

  3. Selecteer het tabblad Terminal om de vraag 'Wat is uw naam?' weer te geven voordat het programma wacht op een antwoord.

    Select the Terminal tab

  4. Voer een tekenreeks in het terminalvenster in als reactie op de prompt om een naam en druk op Enter.

    De uitvoering van het programma stopt wanneer het onderbrekingspunt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd. In de sectie Locals van het venster Variabelen worden de waarden weergegeven van variabelen die zijn gedefinieerd in de momenteel actieve methode.

    Breakpoint hit, showing Locals

De console voor foutopsporing gebruiken

In het venster Foutopsporingsconsole kunt u communiceren met de toepassing die u foutopsporing uitvoert. U kunt de waarde van variabelen wijzigen om te zien hoe dit van invloed is op uw programma.

  1. Selecteer het tabblad Console voor foutopsporing.

  2. Voer onder in het venster Foutopsporingsconsole de name = "Gracie" prompt in en druk op Enter.

    Change variable values

  3. Voer onder aan het venster Foutopsporingsconsole in currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en druk op Enter.

    In het venster Variabelen worden de nieuwe waarden van de name en currentDate variabelen weergegeven.

  4. Ga door met de uitvoering van het programma door de knop Doorgaan op de werkbalk te selecteren. Een andere manier om door te gaan is door op F5 te drukken.

    Continue debugging

  5. Selecteer het tabblad Terminal opnieuw.

    De waarden die in het consolevenster worden weergegeven, komen overeen met de wijzigingen die u hebt aangebracht in de Console voor foutopsporing.

    Terminal showing the entered values

  6. 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.

  1. Klik met de rechtermuisknop (Ctrl-klik op macOS) op de rode stip die het onderbrekingspunt vertegenwoordigt. Selecteer in het contextmenu Het onderbrekingspunt bewerken om een dialoogvenster te openen waarmee u een voorwaardelijke expressie kunt invoeren.

    Breakpoint context menu

  2. Selecteer Expression in de vervolgkeuzelijst, voer de volgende voorwaardelijke expressie in en druk op Enter.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Telkens wanneer het onderbrekingspunt wordt bereikt, roept het foutopsporingsprogramma de String.IsNullOrEmpty(name) methode aan en wordt deze alleen op deze regel verbroken trueals de methodeaanroep wordt geretourneerd.

    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.

  3. Start het programma met foutopsporing door op F5 te drukken.

  4. Druk op het tabblad Terminal op Enter wanneer u wordt gevraagd uw naam in te voeren.

    Omdat aan de opgegeven voorwaarde (name is of null String.Empty) is voldaan, stopt de uitvoering van het programma wanneer het onderbrekingspunt wordt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd.

    In het venster Variabelen ziet u dat de waarde van de name variabele , ""of String.Empty.

  5. Controleer of de waarde een lege tekenreeks is door de volgende instructie in te voeren bij de prompt van de console voor foutopsporing en op Enter te drukken. Het resultaat is true.

    name == String.Empty
    
  6. Selecteer de knop Doorgaan op de werkbalk om door te gaan met de uitvoering van het programma.

  7. Selecteer het tabblad Terminal en druk op een willekeurige toets om het programma af te sluiten en de foutopsporing te stoppen.

  8. 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 Het onderbrekingspunt uitvoeren > in het menu te kiezen terwijl de coderegel is geselecteerd.

  9. Als u een waarschuwing krijgt dat de onderbrekingspuntvoorwaarde verloren gaat, selecteert u Onderbrekingspunt verwijderen.

Een programma doorlopen

Visual Studio Code stelt u ook in staat om regel voor regel door een programma te lopen en de uitvoering ervan te 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.

  1. Stel een onderbrekingspunt in op de accolade openen van de Main methode.

  2. Druk op F5 om de foutopsporing te starten.

    Visual Studio Code markeert de onderbrekingspuntregel.

    Op dit moment ziet u in het venster Variabelen dat de matrix leeg is en currentDate name dat deze args standaardwaarden heeft.

  3. Selecteer Stap in uitvoeren>of druk op F11.

    Step-Into button

    Visual Studio Code markeert de volgende regel.

  4. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code voert de Console.WriteLine naamprompt uit en markeert de volgende uitvoeringsregel. De volgende regel is de Console.ReadLine voor de name. Het venster Variabelen is ongewijzigd en op het tabblad Terminal wordt de prompt 'Wat is uw naam?' weergegeven.

  5. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio markeert de name variabeletoewijzing. In het venster Variabelen ziet u dat dat name nog steeds nullis.

  6. Reageer op de prompt door een tekenreeks in te voeren op het tabblad Terminal en op Enter te drukken.

    Op het tabblad Terminal wordt mogelijk niet de tekenreeks weergegeven die u invoert terwijl u deze invoer invoert, maar de Console.ReadLine methode legt uw invoer vast.

  7. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code markeert de currentDate variabeletoewijzing. In het venster Variabelen ziet u de waarde die wordt geretourneerd door de aanroep naar de Console.ReadLine methode. Op het tabblad Terminal wordt de tekenreeks weergegeven die u bij de prompt hebt ingevoerd.

  8. Selecteer Stap in uitvoeren>of druk op F11.

    Het venster Variabelen toont de waarde van de currentDate variabele na de toewijzing van de DateTime.Now eigenschap.

  9. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code roept de methode aan Console.WriteLine(String, Object, Object) . In het consolevenster wordt de opgemaakte tekenreeks weergegeven.

  10. Selecteer Stap>uitvoeren of druk op Shift+F11.

    Step-Out button

  11. Selecteer het tabblad Terminal .

    In de terminal wordt 'Druk op een willekeurige toets om af te sluiten...

  12. Druk op een willekeurige toets om het programma af te sluiten.

Buildconfiguratie van release gebruiken

Nadat u de foutopsporingsversie van uw toepassing hebt getest, moet u ook de releaseversie compileren en testen. De releaseversie bevat compileroptimalisaties die van invloed kunnen zijn 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, opent u Terminal en voert u de volgende opdracht uit:

dotnet run --configuration Release

Aanvullende bronnen

Volgende stappen

In deze zelfstudie hebt u hulpprogramma's voor foutopsporing in Visual Studio Code gebruikt. In de volgende zelfstudie publiceert u een implementeerbare versie van de app.

In deze zelfstudie worden de hulpprogramma's voor foutopsporing geïntroduceerd die beschikbaar zijn in Visual Studio Code voor het werken met .NET-apps.

Vereisten

Buildconfiguratie voor foutopsporing gebruiken

Fouten opsporen en vrijgeven zijn. Ingebouwde buildconfiguraties van NET. 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.

De opstartinstellingen van Visual Studio Code maken standaard gebruik van de buildconfiguratie voor foutopsporing, dus u hoeft deze niet te wijzigen voordat u fouten opspoort.

  1. Start Visual Studio Code.

  2. Open de map van het project dat u hebt gemaakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.

Een onderbrekingspunt instellen

Een onderbrekingspunt onderbreekt tijdelijk de uitvoering van de toepassing voordat de regel met het onderbrekingspunt wordt uitgevoerd.

  1. Open het bestand Program.cs .

  2. Stel een onderbrekingspunt in op de regel die de naam, datum en tijd weergeeft door in de linkermarge van het codevenster te klikken. De linkermarge bevindt zich links van de regelnummers. Andere manieren om een onderbrekingspunt in te stellen, zijn door op F9 te drukken of run>toggle Breakpoint te kiezen in het menu terwijl de regel code is geselecteerd.

    Visual Studio Code geeft de regel aan waarop het onderbrekingspunt is ingesteld door een rode stip in de linkermarge weer te geven.

    Breakpoint set

Instellen voor terminalinvoer

Het onderbrekingspunt bevindt zich na een methodeaanroep Console.ReadLine . De console voor foutopsporing accepteert geen terminalinvoer voor een actief programma. Als u terminalinvoer wilt verwerken tijdens foutopsporing, kunt u de geïntegreerde terminal (een van de Visual Studio Code-vensters) of een externe terminal gebruiken. Voor deze zelfstudie gebruikt u de geïntegreerde terminal.

  1. De projectmap bevat een .vscode-map . Open het bestand launch.json in de map .vscode .

  2. Wijzig in launch.json de console instelling van internalConsole in integratedTerminal:

    "console": "integratedTerminal",
    
  3. Uw wijzigingen opslaan.

Foutopsporing starten

  1. Open de weergave Foutopsporing door het pictogram Foutopsporing te selecteren in het menu aan de linkerkant.

    Open the Debug tab in Visual Studio Code

  2. Selecteer de groene pijl boven aan het deelvenster, naast .NET Core Launch (console). Andere manieren om het programma in de foutopsporingsmodus te starten, zijn door op F5 te drukken of Run>Start-foutopsporing te kiezen in het menu.

    Start debugging

  3. Selecteer het tabblad Terminal om de vraag 'Wat is uw naam?' weer te geven voordat het programma wacht op een antwoord.

    Select the Terminal tab

  4. Voer een tekenreeks in het terminalvenster in als reactie op de prompt om een naam en druk op Enter.

    De uitvoering van het programma stopt wanneer het onderbrekingspunt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd. In de sectie Locals van het venster Variabelen worden de waarden weergegeven van variabelen die zijn gedefinieerd in de momenteel actieve methode.

    Breakpoint hit, showing Locals

De console voor foutopsporing gebruiken

In het venster Foutopsporingsconsole kunt u communiceren met de toepassing die u foutopsporing uitvoert. U kunt de waarde van variabelen wijzigen om te zien hoe dit van invloed is op uw programma.

  1. Selecteer het tabblad Console voor foutopsporing.

  2. Voer onder in het venster Foutopsporingsconsole de name = "Gracie" prompt in en druk op Enter.

    Change variable values

  3. Voer onder aan het venster Foutopsporingsconsole in currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en druk op Enter.

    In het venster Variabelen worden de nieuwe waarden van de name en currentDate variabelen weergegeven.

  4. Ga door met de uitvoering van het programma door de knop Doorgaan op de werkbalk te selecteren. Een andere manier om door te gaan is door op F5 te drukken.

    Continue debugging

  5. Selecteer het tabblad Terminal opnieuw.

    De waarden die in het consolevenster worden weergegeven, komen overeen met de wijzigingen die u hebt aangebracht in de Console voor foutopsporing.

    Terminal showing the entered values

  6. 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.

  1. Klik met de rechtermuisknop (Ctrl-klik op macOS) op de rode stip die het onderbrekingspunt vertegenwoordigt. Selecteer in het contextmenu Het onderbrekingspunt bewerken om een dialoogvenster te openen waarmee u een voorwaardelijke expressie kunt invoeren.

    Breakpoint context menu

  2. Selecteer Expression in de vervolgkeuzelijst, voer de volgende voorwaardelijke expressie in en druk op Enter.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Telkens wanneer het onderbrekingspunt wordt bereikt, roept het foutopsporingsprogramma de String.IsNullOrEmpty(name) methode aan en wordt deze alleen op deze regel verbroken trueals de methodeaanroep wordt geretourneerd.

    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.

  3. Start het programma met foutopsporing door op F5 te drukken.

  4. Druk op het tabblad Terminal op Enter wanneer u wordt gevraagd uw naam in te voeren.

    Omdat aan de opgegeven voorwaarde (name is of null String.Empty) is voldaan, stopt de uitvoering van het programma wanneer het onderbrekingspunt wordt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd.

    In het venster Variabelen ziet u dat de waarde van de name variabele , ""of String.Empty.

  5. Controleer of de waarde een lege tekenreeks is door de volgende instructie in te voeren bij de prompt van de console voor foutopsporing en op Enter te drukken. Het resultaat is true.

    name == String.Empty
    
  6. Selecteer de knop Doorgaan op de werkbalk om door te gaan met de uitvoering van het programma.

  7. Selecteer het tabblad Terminal en druk op een willekeurige toets om het programma af te sluiten en de foutopsporing te stoppen.

  8. 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 Het onderbrekingspunt uitvoeren > in het menu te kiezen terwijl de coderegel is geselecteerd.

  9. Als u een waarschuwing krijgt dat de onderbrekingspuntvoorwaarde verloren gaat, selecteert u Onderbrekingspunt verwijderen.

Een programma doorlopen

Visual Studio Code stelt u ook in staat om regel voor regel door een programma te lopen en de uitvoering ervan te 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.

  1. Stel een onderbrekingspunt in op de accolade openen van de Main methode.

  2. Druk op F5 om de foutopsporing te starten.

    Visual Studio Code markeert de onderbrekingspuntregel.

    Op dit moment ziet u in het venster Variabelen dat de matrix leeg is en currentDate name dat deze args standaardwaarden heeft.

  3. Selecteer Stap in uitvoeren>of druk op F11.

    Step-Into button

    Visual Studio Code markeert de volgende regel.

  4. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code voert de Console.WriteLine naamprompt uit en markeert de volgende uitvoeringsregel. De volgende regel is de Console.ReadLine voor de name. Het venster Variabelen is ongewijzigd en op het tabblad Terminal wordt de prompt 'Wat is uw naam?' weergegeven.

  5. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio markeert de name variabeletoewijzing. In het venster Variabelen ziet u dat dat name nog steeds nullis.

  6. Reageer op de prompt door een tekenreeks in te voeren op het tabblad Terminal en op Enter te drukken.

    Op het tabblad Terminal wordt mogelijk niet de tekenreeks weergegeven die u invoert terwijl u deze invoer invoert, maar de Console.ReadLine methode legt uw invoer vast.

  7. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code markeert de currentDate variabeletoewijzing. In het venster Variabelen ziet u de waarde die wordt geretourneerd door de aanroep naar de Console.ReadLine methode. Op het tabblad Terminal wordt de tekenreeks weergegeven die u bij de prompt hebt ingevoerd.

  8. Selecteer Stap in uitvoeren>of druk op F11.

    Het venster Variabelen toont de waarde van de currentDate variabele na de toewijzing van de DateTime.Now eigenschap.

  9. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code roept de methode aan Console.WriteLine(String, Object, Object) . In het consolevenster wordt de opgemaakte tekenreeks weergegeven.

  10. Selecteer Stap>uitvoeren of druk op Shift+F11.

    Step-Out button

  11. Selecteer het tabblad Terminal .

    In de terminal wordt 'Druk op een willekeurige toets om af te sluiten...

  12. Druk op een willekeurige toets om het programma af te sluiten.

Buildconfiguratie van release gebruiken

Nadat u de foutopsporingsversie van uw toepassing hebt getest, moet u ook de releaseversie compileren en testen. De releaseversie bevat compileroptimalisaties die van invloed kunnen zijn 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, opent u Terminal en voert u de volgende opdracht uit:

dotnet run --configuration Release

Aanvullende bronnen

Volgende stappen

In deze zelfstudie hebt u hulpprogramma's voor foutopsporing in Visual Studio Code gebruikt. In de volgende zelfstudie publiceert u een implementeerbare versie van de app.

In deze zelfstudie worden de hulpprogramma's voor foutopsporing geïntroduceerd die beschikbaar zijn in Visual Studio Code voor het werken met .NET-apps.

Vereisten

Buildconfiguratie voor foutopsporing gebruiken

Fouten opsporen en vrijgeven zijn. Ingebouwde buildconfiguraties van NET. 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.

De opstartinstellingen van Visual Studio Code maken standaard gebruik van de buildconfiguratie voor foutopsporing, dus u hoeft deze niet te wijzigen voordat u fouten opspoort.

  1. Start Visual Studio Code.

  2. Open de map van het project dat u hebt gemaakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.

Een onderbrekingspunt instellen

Een onderbrekingspunt onderbreekt tijdelijk de uitvoering van de toepassing voordat de regel met het onderbrekingspunt wordt uitgevoerd.

  1. Open het bestand Program.cs .

  2. Stel een onderbrekingspunt in op de regel die de naam, datum en tijd weergeeft door in de linkermarge van het codevenster te klikken. De linkermarge bevindt zich links van de regelnummers. Andere manieren om een onderbrekingspunt in te stellen, zijn door op F9 te drukken of run>toggle Breakpoint te kiezen in het menu terwijl de regel code is geselecteerd.

    Visual Studio Code geeft de regel aan waarop het onderbrekingspunt is ingesteld door een rode stip in de linkermarge weer te geven.

    Breakpoint set

Instellen voor terminalinvoer

Het onderbrekingspunt bevindt zich na een methodeaanroep Console.ReadLine . De console voor foutopsporing accepteert geen terminalinvoer voor een actief programma. Als u terminalinvoer wilt verwerken tijdens foutopsporing, kunt u de geïntegreerde terminal (een van de Visual Studio Code-vensters) of een externe terminal gebruiken. Voor deze zelfstudie gebruikt u de geïntegreerde terminal.

  1. Open .vscode/launch.json.

  2. Wijzig de console instelling van internalConsole in integratedTerminal:

    "console": "integratedTerminal",
    
  3. Uw wijzigingen opslaan.

Foutopsporing starten

  1. Open de weergave Foutopsporing door het pictogram Foutopsporing te selecteren in het menu aan de linkerkant.

    Open the Debug tab in Visual Studio Code

  2. Selecteer de groene pijl boven aan het deelvenster, naast .NET Core Launch (console). Andere manieren om het programma in de foutopsporingsmodus te starten, zijn door op F5 te drukken of Run>Start-foutopsporing te kiezen in het menu.

    Start debugging

  3. Selecteer het tabblad Terminal om de vraag 'Wat is uw naam?' weer te geven voordat het programma wacht op een antwoord.

    Select the Terminal tab

  4. Voer een tekenreeks in het terminalvenster in als reactie op de prompt om een naam en druk op Enter.

    De uitvoering van het programma stopt wanneer het onderbrekingspunt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd. In de sectie Locals van het venster Variabelen worden de waarden weergegeven van variabelen die zijn gedefinieerd in de momenteel actieve methode.

    Breakpoint hit, showing Locals

De console voor foutopsporing gebruiken

In het venster Foutopsporingsconsole kunt u communiceren met de toepassing die u foutopsporing uitvoert. U kunt de waarde van variabelen wijzigen om te zien hoe dit van invloed is op uw programma.

  1. Selecteer het tabblad Console voor foutopsporing.

  2. Voer onder in het venster Foutopsporingsconsole de name = "Gracie" prompt in en druk op Enter.

    Change variable values

  3. Voer onder aan het venster Foutopsporingsconsole in currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en druk op Enter.

    In het venster Variabelen worden de nieuwe waarden van de name en currentDate variabelen weergegeven.

  4. Ga door met de uitvoering van het programma door de knop Doorgaan op de werkbalk te selecteren. Een andere manier om door te gaan is door op F5 te drukken.

    Continue debugging

  5. Selecteer het tabblad Terminal opnieuw.

    De waarden die in het consolevenster worden weergegeven, komen overeen met de wijzigingen die u hebt aangebracht in de Console voor foutopsporing.

    Terminal showing the entered values

  6. 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.

  1. Klik met de rechtermuisknop (Ctrl-klik op macOS) op de rode stip die het onderbrekingspunt vertegenwoordigt. Selecteer in het contextmenu Het onderbrekingspunt bewerken om een dialoogvenster te openen waarmee u een voorwaardelijke expressie kunt invoeren.

    Breakpoint context menu

  2. Selecteer Expression in de vervolgkeuzelijst, voer de volgende voorwaardelijke expressie in en druk op Enter.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Telkens wanneer het onderbrekingspunt wordt bereikt, roept het foutopsporingsprogramma de String.IsNullOrEmpty(name) methode aan en wordt deze alleen op deze regel verbroken trueals de methodeaanroep wordt geretourneerd.

    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.

  3. Start het programma met foutopsporing door op F5 te drukken.

  4. Druk op het tabblad Terminal op Enter wanneer u wordt gevraagd uw naam in te voeren.

    Omdat aan de opgegeven voorwaarde (name is of null String.Empty) is voldaan, stopt de uitvoering van het programma wanneer het onderbrekingspunt wordt bereikt en voordat de Console.WriteLine methode wordt uitgevoerd.

    In het venster Variabelen ziet u dat de waarde van de name variabele , ""of String.Empty.

  5. Controleer of de waarde een lege tekenreeks is door de volgende instructie in te voeren bij de prompt van de console voor foutopsporing en op Enter te drukken. Het resultaat is true.

    name == String.Empty
    
  6. Selecteer de knop Doorgaan op de werkbalk om door te gaan met de uitvoering van het programma.

  7. Selecteer het tabblad Terminal en druk op een willekeurige toets om het programma af te sluiten en de foutopsporing te stoppen.

  8. 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 Het onderbrekingspunt uitvoeren > in het menu te kiezen terwijl de coderegel is geselecteerd.

  9. Als u een waarschuwing krijgt dat de onderbrekingspuntvoorwaarde verloren gaat, selecteert u Onderbrekingspunt verwijderen.

Een programma doorlopen

Visual Studio Code stelt u ook in staat om regel voor regel door een programma te lopen en de uitvoering ervan te 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.

  1. Stel een onderbrekingspunt in op de accolade openen van de Main methode.

  2. Druk op F5 om de foutopsporing te starten.

    Visual Studio Code markeert de onderbrekingspuntregel.

    Op dit moment ziet u in het venster Variabelen dat de matrix leeg is en currentDate name dat deze args standaardwaarden heeft.

  3. Selecteer Stap in uitvoeren>of druk op F11.

    Step-Into button

    Visual Studio Code markeert de volgende regel.

  4. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code voert de Console.WriteLine naamprompt uit en markeert de volgende uitvoeringsregel. De volgende regel is de Console.ReadLine voor de name. Het venster Variabelen is ongewijzigd en op het tabblad Terminal wordt de prompt 'Wat is uw naam?' weergegeven.

  5. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio markeert de name variabeletoewijzing. Het venster Variabelen is gewist.

  6. Reageer op de prompt door een tekenreeks in te voeren op het tabblad Terminal en op Enter te drukken.

    Op het tabblad Terminal wordt mogelijk niet de tekenreeks weergegeven die u invoert terwijl u deze invoer invoert, maar de Console.ReadLine methode legt uw invoer vast.

    In het venster Variabelen ziet u de waarde die wordt geretourneerd door de aanroep naar de Console.ReadLine methode.

  7. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code markeert de currentDate variabeletoewijzing. Op het tabblad Terminal wordt de tekenreeks weergegeven die u bij de prompt hebt ingevoerd.

  8. Selecteer Stap in uitvoeren>of druk op F11.

    Het venster Variabelen toont de waarde van de currentDate variabele na de toewijzing van de DateTime.Now eigenschap.

  9. Selecteer Stap in uitvoeren>of druk op F11.

    Visual Studio Code roept de methode aan Console.WriteLine(String, Object, Object) . In het consolevenster wordt de opgemaakte tekenreeks weergegeven.

  10. Selecteer Stap>uitvoeren of druk op Shift+F11.

    Step-Out button

  11. Selecteer het tabblad Terminal .

    In de terminal wordt 'Druk op een willekeurige toets om af te sluiten...

  12. Druk op een willekeurige toets om het programma af te sluiten.

Buildconfiguratie van release gebruiken

Nadat u de foutopsporingsversie van uw toepassing hebt getest, moet u ook de releaseversie compileren en testen. De releaseversie bevat compileroptimalisaties die van invloed kunnen zijn 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, opent u Terminal en voert u de volgende opdracht uit:

dotnet run --configuration Release

Aanvullende bronnen

Volgende stappen

In deze zelfstudie hebt u hulpprogramma's voor foutopsporing in Visual Studio Code gebruikt. In de volgende zelfstudie publiceert u een implementeerbare versie van de app.