Delen via


Debuggen van broncode in WinDbg (Classic)

Bronpad

Het bronpad geeft de mappen op waar de C- en C++-bronbestanden zich bevinden. Zie Bronpad voor meer informatie over het weergeven van broncode in het foutopsporingsprogramma.

Notitie Als u bent verbonden met een bedrijfsnetwerk, kunt u het beste toegang krijgen tot bronbestanden door een bronserver te gebruiken. U kunt een bronserver gebruiken met behulp van de srv*-tekenreeks binnen het bronpad. Zie Een bronserver gebruiken voor meer informatie over bronservers.

Ga op een van de volgende manieren te werk om het bronpad in WinDbg te beheren:

Bronbestanden openen en sluiten

Ga op een van de volgende manieren te werk om een bronbestand rechtstreeks te openen of te sluiten:

  • Kies Open Source-bestand in het menu Bestand of druk op Ctrl+O. U kunt ook de knop Open source-bestand gebruiken (schermopname van de knop Open Source-bestand in WinDbg.

    Notitie Wanneer u het menu of de werkbalkknop gebruikt om een bronbestand te openen, wordt het pad van dat bestand automatisch toegevoegd aan het bronpad.

  • Kies Huidig venster sluiten in het menu Bestand .

  • Selecteer de knop Sluiten in de hoek van het venster Bron.

  • Kies Recente bestanden in het menu Bestand om een van de vier bronbestanden te openen die u het laatst hebt geopend in WinDbg.

  • Voer de opdracht .open (Open Source File) in.

  • Voer de opdracht lsf (Bronbestand laden of verwijderen) in.

In WinDbg worden in het venster Bron bronbestanden weergegeven die in het foutopsporingsprogramma zijn geladen.

Het bronvenster openen

Het foutopsporingsprogramma opent een bronvenster wanneer er een nieuw bronbestand wordt geladen. Als u wilt herstellen of overschakelen naar een opensource-venster, gaat u naar het menu Venster en kiest u in de lijst met vensters onder aan het menu.

In de volgende schermafbeelding ziet u een voorbeeld van een bronvenster.

Schermopname van het venster Bron in WinDbg, waarin een geladen bronbestand wordt weergegeven.

Elk bronbestand bevindt zich in een eigen bronvenster. De titel van elk bronvenster is het volledige pad van het bronbestand.

Het bronvenster gebruiken

In elk bronvenster wordt de tekst van één bronbestand weergegeven. U kunt een bronbestand niet bewerken in het foutopsporingsprogramma. Zie Teksteigenschappen wijzigen voor meer informatie over het wijzigen van het lettertype en de tabinstellingen.

Elk bronvenster heeft een snelmenu met extra opdrachten. Als u het menu wilt openen, selecteert en houdt u de titelbalk ingedrukt (of klikt u erop met de rechtermuisknop) of selecteert u het pictogram dat in de rechterbovenhoek van het venster wordt weergegeven. In de volgende lijst worden enkele van de menuopdrachten beschreven:

  • Stel de instructiewijzer in op de huidige regel , wijzigt de waarde van de instructiepointer in de instructie die overeenkomt met de huidige regel. Deze opdracht is gelijk aan het gebruik van de bewerking | Stel de opdracht Huidige instructie in of druk op Ctrl+Shift+I.

  • Als u dit bestand bewerkt , wordt het bronbestand geopend in een teksteditor. De editor wordt bepaald door de registergegevens van de WinDiff-editor of door de waarde van de omgevingsvariabele WINDBG_INVOKE_EDITOR. Denk bijvoorbeeld aan het geval wanneer de waarde van WINDBG_INVOKE_EDITOR het volgende is.

    c:\my\path\myeditor.exe -file %f -line %l
    

    In dit geval wordt Myeditor.exe geopend met het éénregelnummer van het huidige bronbestand. De optie %l geeft aan dat regelnummers op één gebaseerd moeten worden gelezen, terwijl %f aangeeft dat het huidige bronbestand moet worden gebruikt. Andere vervangingsmogelijkheden zijn %L, wat aangeeft dat regelnummers op nul zijn gebaseerd en %p, wat ook kan aangeven dat het huidige bronbestand moet worden gebruikt.

  • Selectie evalueren evalueert de op dat moment geselecteerde tekst met behulp van de C++-expressie-evaluator. Het resultaat wordt weergegeven in het opdrachtvenster Foutopsporingsprogramma. Als de geselecteerde tekst meer dan één regel bevat, treedt er een syntaxisfout op. Deze opdracht is gelijk aan het gebruik van de bewerking | De selectieopdracht evalueren , op Ctrl+Shift+V drukken of de ?? (C++-expressie evalueren) opdracht met de geselecteerde tekst als argument.

  • Het geselecteerde type weergeven geeft het gegevenstype van het geselecteerde object weer. Deze weergave verschijnt in het venster van het foutopsporingsprogramma. Als de geselecteerde tekst meer dan één object bevat, kan er een syntaxisfout of andere onregelmatige resultaten worden weergegeven. Deze opdracht is gelijk aan het gebruik van het commando Bewerken > Geselecteerd type weergeven of op Ctrl+Shift+Y drukken.

  • Open het geheugenvenster voor selectie opent een nieuw gedokt geheugenvenster waarin geheugen wordt weergegeven vanaf het adres van de geselecteerde expressie.

  • Selectie toevoegen aan het Watch-venster voegt het geselecteerde brontoken toe aan het Watch-venster.

  • Demontage bij de huidige lijn zorgt ervoor dat de instructie die overeenkomt met de huidige lijn wordt weergegeven in het venster Demontage. De geselecteerde regel is gemarkeerd in het bronvenster en in het venster Demontage, maar deze opdracht is alleen van invloed op de weergave. De instructiepointer wordt niet gewijzigd. Als het venster Demontage wordt gesloten wanneer deze opdracht is geselecteerd, wordt het geopend.

  • De brontaal selecteren geeft een lijst met programmeertalen weer. Selecteer de programmeertaal die u hebt gebruikt om het bronbestand te genereren en selecteer vervolgens OK om basissyntaxismarkeringen in te schakelen voor het huidige bronvenster. Selecteer <Geen> om de syntaxismarkering voor het huidige bronvenster uit te schakelen.

Kleuren van bronvensters en zweefevaluatie

Als het foutopsporingsprogramma de bestandsnaamextensie van de bron herkent, worden in het bronvenster bepaalde syntaxiselementen in kleur weergegeven. Ga als volgt te werk om de kleuren uit te schakelen of te wijzigen:

  • Als u de syntaxiskleuren in één venster wilt uitschakelen, opent u het snelmenu van het bronvenster, selecteert u Brontaal selecteren en selecteert u <Vervolgens Geen>.

  • Als u de syntaxiskleuren wilt uitschakelen voor alle bronvensters, kiest u Opties in het menu Beeld . Schakel vervolgens het selectievakje Bronnen talen parseren uit.

  • Als u de syntaxiskleuren wilt wijzigen, kiest u Opties in het menu Beeld . Selecteer vervolgens in het gebied Kleuren een syntaxiselement en selecteer de knop Wijzigen om de kleur te wijzigen.

  • De parseermethode die wordt gebruikt voor de markering, wordt bepaald door de programmeertaal die is gekoppeld aan de bestandsextensie voor het bronbestand. Als u de programmeertaal wilt wijzigen die is gekoppeld aan een specifieke bestandsextensie, gebruikt u het dialoogvenster Bestandsextensies voor brontalen. Als u dit dialoogvenster wilt openen, kiest u bestandsextensies voor brontaal in het menu Beeld .

De lijn die de huidige programmateller vertegenwoordigt, is gemarkeerd. Lijnen waarop onderbrekingspunten zijn ingesteld, worden ook gemarkeerd.

Als u een bronvenster selecteert en vervolgens met de muis over een symbool in dat venster beweegt, wordt het symbool geëvalueerd. De evaluatie is hetzelfde als die geproduceerd door de opdracht dt (Weergavetype). Als u deze evaluatie wilt deactiveren, kiest u Opties in het menu Beeld . Schakel daarna het selectievakje Evalueren bij aanwijzen uit.

Zie ook

Zie Foutopsporing in de bronmodus voor meer informatie over bronopsporing en gerelateerde opdrachten.