Delen via


Geef symboolbestanden (.pdb) en bronbestanden op in het Visual Studio-foutopsporingsprogramma (C#, C++, Visual Basic, F#)

Programmadatabase (.pdb) bestanden, ook wel symboolbestanden genoemd, koppelt identificatoren en statements in de broncode van uw project aan bijbehorende identificatoren en instructies in gecompileerde apps. Deze toewijzingsbestanden koppelen het foutopsporingsprogramma aan uw broncode, waardoor foutopsporing mogelijk is.

Wanneer u een project bouwt vanuit de Visual Studio IDE met de standaard buildconfiguratie voor foutopsporing, maakt de compiler de juiste symboolbestanden. In dit artikel wordt beschreven hoe u symboolbestanden in de IDE beheert, bijvoorbeeld:

Zie Symboolbestanden en Visual Studio-symboolinstellingen voor een gedetailleerde uitleg van symboolbestanden.

Hoe symboolbestanden werken

Het .pdb--bestand bevat foutopsporings- en projectstatusgegevens waarmee incrementele koppeling van een foutopsporingsconfiguratie van uw app mogelijk is. Het Visual Studio-foutopsporingsprogramma maakt gebruik van .pdb--bestanden om twee belangrijke gegevens te bepalen tijdens foutopsporing:

  • De naam van het bronbestand en het regelnummer dat moet worden weergegeven in de Visual Studio IDE
  • Waar in de app moet worden gestopt voor een onderbrekingspunt

Symboolbestanden tonen ook de locatie van de bronbestanden en eventueel de server waaruit ze moeten worden opgehaald.

Het foutopsporingsprogramma laadt alleen .pdb--bestanden die exact overeenkomen met de .pdb- bestanden die zijn gemaakt toen een app werd gemaakt (dat wil zeggen de oorspronkelijke .pdb bestanden of kopieën). Deze exacte duplicatie is nodig omdat de indeling van apps kan worden gewijzigd, zelfs als de code zelf niet wordt gewijzigd. Zie voor meer informatie Waarom vereist Visual Studio symboolbestanden voor foutopsporingsprogramma om exact overeen te komen met de binaire bestanden waarmee ze zijn gebouwd?

Aanbeveling

Als u fouten wilt opsporen in code buiten de broncode van uw project, zoals Windows-code of code van derden, moet u de locatie opgeven van de .pdb--bestanden van de externe code (en eventueel de bronbestanden), die exact overeenkomen met de builds in uw app.

Waar het foutopsporingsprogramma zoekt naar symbolen

Wanneer u fouten in een project in Visual Studio IDE opspoort, worden in het foutopsporingsprogramma automatisch symboolbestanden geladen die standaard kunnen worden gevonden.

Notitie

Bij het opsporen van fouten in beheerde code op een extern apparaat moeten alle symboolbestanden zich bevinden op de lokale computer of op een locatie die zijn opgegeven in de opties voor foutopsporingsprogramma's.

Het foutopsporingsprogramma zoekt naar symboolbestanden op de volgende locaties, in de opgegeven volgorde:

  1. De projectmap.

  2. De locatie die is opgegeven in het DLL-bestand of het uitvoerbare bestand (.exe).

    Als u standaard een DLL- of .exe-bestand op uw computer hebt gemaakt, plaatst de linker het volledige pad en de bestandsnaam van het gekoppelde .pdb--bestand in het DLL- of .exe-bestand. Het foutopsporingsprogramma controleert of het symboolbestand op die locatie bestaat.

  3. Dezelfde map als het DLL- of .exe-bestand.

  4. Locaties die zijn opgegeven in de opties voor foutopsporingsprogramma's voor symboolbestanden. Zie Symboollocaties en laadopties configureren om symboollocaties toe te voegen en in te schakelen.

    • Elke lokale cachemap met symbolen.

    • Opgegeven netwerk-, internet- of lokale symboolservers en -locaties, zoals de Microsoft Symbol Servers indien geselecteerd. Visual Studio kan symboolbestanden voor foutopsporing downloaden van symboolservers die het symsrv-protocol implementeren. Visual Studio Team Foundation Server- en de Hulpprogramma's voor foutopsporing voor Windows zijn twee hulpprogramma's die symboolservers kunnen gebruiken.

      Symboolservers die u kunt gebruiken, zijn onder andere:

      Microsoft openbare symboolservers: Om te debuggen bij een crash die optreedt tijdens een aanroep van een systeem-DLL of naar een bibliotheek van derden, heeft u vaak systeem-.pdb--bestanden nodig. Systeem-.pdb--bestanden bevatten symbolen voor Windows-DLL's, .exe-bestanden en apparaatstuurprogramma's. U kunt symbolen ophalen voor Windows-besturingssystemen, MDAC, IIS, ISA en .NET van de openbare Microsoft Symbol Servers.

      Symboolservers in een intern netwerk of op uw lokale computer: uw team of bedrijf kan symboolservers maken voor uw eigen producten en als cache voor symbolen uit externe bronnen. Mogelijk hebt u een symboolserver op uw eigen computer.

      symboolservers van derden: externe providers van Windows-toepassingen en -bibliotheken kunnen toegang bieden tot de symboolserver op internet.

Waarschuwing

Als u een andere symboolserver gebruikt dan de openbare Microsoft Symbol Servers, moet u ervoor zorgen dat de symboolserver en het bijbehorende pad betrouwbaar zijn. Omdat symboolbestanden willekeurige uitvoerbare code kunnen bevatten, kunt u worden blootgesteld aan beveiligingsrisico's.

Locatie van symboolbestanden en laadopties configureren

Het foutopsporingsprogramma controleert standaard verschillende locaties op symbolen. Zie Waar het foutopsporingsprogramma zoekt naar symbolen voor meer informatie.

Vanuit het menu Extra (of Foutopsporing) >Opties hebt u toegang tot de opties voor symbolen voor foutopsporing>:

  • Zoekpaden voor symboolbestanden opgeven en selecteren.
  • Geef symboolservers op voor onderdelen van Microsoft, Windows of derden.
  • Geef modules op waarvoor u wel of niet wilt dat het foutopsporingsprogramma automatisch symbolen laadt.
  • Wijzig deze instellingen terwijl u actief foutopsporing uitvoert. Zie symbolen laden tijdens het debuggen.

De locaties van symbolen en laadopties specificeren:

  1. Open het deelvenster Extra (of Debug) >Opties en vouw de sectie Alle instellingen>Foutopsporing>Algemeen>Symbolen>Zoeklocaties uit.

  2. Schakel in het rechterdeelvenster het selectievakje in voor elke gewenste server: Microsoft Symbol Servers, NuGet.org Symboolserver, enzovoort.

  3. Voeg een nieuwe locatie voor de symboolserver toe door + Toevoegen te selecteren in de werkbalk voor het groepsvak Symboolbestand (.pdb).

    Voer de URL (http), netwerkshare of het lokale pad van de symboolserver of symboollocatie in het tekstveld in. Voltooiing van de stelling helpt u de juiste indeling te vinden.

    Schermopname die laat zien hoe u een nieuwe locatie voor de symboolserver toevoegt in Visual Studio.

    Notitie

    Alleen de opgegeven map wordt doorzocht. U moet vermeldingen toevoegen voor alle submappen die u wilt doorzoeken.

    Schakel het selectievakje Ingeschakeld in en selecteer Opslaan.

  4. Voeg een Azure DevOps Symbol Server-locatie toe door de koppeling Nieuwe Azure DevOps Symbol Server-locatie te selecteren.

    Selecteer in het dialoogvenster Verbinding maken met Azure DevOps Symbol Server een beschikbare symboolserver en selecteer vervolgens Verbinding maken.

    Schermopname van het toevoegen van een nieuwe Azure DevOps Symbol Server-locatie in Visual Studio.

    Zie Azure Artifacts-symboolserver toevoegen voor meer informatie.

    • Als u de laadvolgorde voor de symboollocaties wilt wijzigen, gebruikt u Ctrl Omhoog + enCtrl-omlaag + of selecteert u Omhoog en Omlaag gaan.
    • Als u een URL of pad wilt bewerken, dubbelklikt u op de vermelding of markeert u de vermelding en selecteert u Bewerken.
    • Als u een item wilt verwijderen, markeert u de vermelding en selecteert u Verwijderen.
  1. Open het dialoogvenster Extra (of Foutopsporing) >opties en vouw de sectieSymbolen> uit.

  2. Schakel in het groepsvak Zoeklocaties (.pdb) het selectievakje in voor elke gewenste server: Microsoft Symbol Servers, NuGet.org Symboolserver, enzovoort.

  1. Voeg een nieuwe locatie voor de symboolserver toe door Nieuwe locatie (+) te selecteren op de werkbalk van de groepvak Symboolbestand (.pdb) zoeklocaties.

    Voer de URL (http), netwerkshare of het lokale pad van de symboolserver of symboollocatie in het tekstveld in. Voltooiing van de stelling helpt u de juiste indeling te vinden.

    Schermopname die laat zien hoe u een nieuwe locatie voor de symboolserver toevoegt.

    Notitie

    Alleen de opgegeven map wordt doorzocht. U moet vermeldingen toevoegen voor alle submappen die u wilt doorzoeken.

  1. Voeg een nieuwe Azure DevOps Symbol Server-locatie toe door Nieuwe Azure DevOps Symbol Server-locatie te selecteren op de werkbalk van het groepsvak.

    Selecteer in het dialoogvenster Verbinding maken met Azure DevOps Symbol Server een beschikbare symboolserver en selecteer vervolgens Verbinding maken.

    Zie Azure Artifacts-symboolserver toevoegen voor meer informatie.

    • Als u de laadvolgorde voor de symboollocaties wilt wijzigen, gebruikt u Ctrl Omhoog + enCtrl-omlaag + of selecteert u de acties Omhoog en Omlaag.
    • Als u een URL of pad wilt bewerken, dubbelklikt u op de vermelding of markeert u het item en drukt u op F2.
    • Als u een item wilt verwijderen, markeert u deze en selecteert u Locatie verwijderen (-).
  1. (Optioneel) Verbeter de laadprestaties van symbolen door een lokaal mappad op te geven voor gekopieerde symbolen.

    Voer voor de cachesymbolen in deze mapoptie een lokaal mappad in waarnaar symboolservers symbolen kunnen kopiëren.

    Notitie

    • Plaats de lokale symboolcache niet in een beveiligde map, zoals C:\Windows of een submap. Gebruik in plaats daarvan een map voor lezen/schrijven.

    • Als de omgevingsvariabele _NT_SYMBOL_PATH is ingesteld, overschrijft de waarde de cachesymbolen in deze mapwaarde .

  2. Geef de modules op die door de debugger moeten worden geladen vanaf de locaties van het symboolbestand (.pdb) wanneer deze start.

    1. Ga naar de sectie Alle instellingen>Foutopsporing>Algemeen>Symbolen>Zoeken en laden .

    2. Gebruik de vervolgkeuzelijst om de waarde van de optie Automatisch zoeken naar symbolen in te stellen:

      • Kies automatisch welke modulesymbolen u wilt zoeken (aanbevolen): Sta Visual Studio toe om te bepalen welke symbolen moeten worden gezocht en geladen. Visual Studio laadt standaard automatisch symbolen die zijn gebouwd door uw geopende oplossing en laadt alle andere symbolen die nodig zijn om algemene foutopsporingsbewerkingen uit te voeren. Deze optie vermindert het aantal bestanden dat moet worden gezocht en geladen door Visual Studio, waardoor de prestaties van foutopsporingsprogramma's worden verbeterd. U kunt afdwingen dat andere symbolen worden geladen door de lijst met opgenomen modules te maken.

        Schermopname die laat zien hoe u de optie selecteert en configureert om automatisch te kiezen welke modulesymbolen moeten worden gezocht.

      • Zoek naar alle modulesymbolen, tenzij uitgesloten: Forceer Visual Studio om alle symbolen in uw foutopsporingsproces te laden. Deze optie wordt niet aanbevolen omdat dit uw foutopsporingservaring kan vertragen. U kunt ervoor zorgen dat Visual Studio bepaalde symbolen negeert door de lijst met uitgesloten modules te maken.

        Schermopname van het selecteren en configureren van de zoekfunctie voor alle modulesymbolen, tenzij uitgesloten.

    Selecteer in de sectieFoutopsporingssymbolen> de waarde van de optie Zoekvoorkeuren voor symbolen:

    Schermopname die laat zien hoe u de optie Zoekvoorkeuren voor symbolen selecteert en configureert.

    • Kies automatisch welke modulesymbolen u wilt zoeken (aanbevolen): Sta Visual Studio toe om te bepalen welke symbolen moeten worden gezocht en geladen. Visual Studio laadt standaard automatisch symbolen die zijn gebouwd door uw geopende oplossing en laadt alle andere symbolen die nodig zijn om algemene foutopsporingsbewerkingen uit te voeren. Deze optie vermindert het aantal bestanden dat moet worden gezocht en geladen door Visual Studio, waardoor de prestaties van foutopsporingsprogramma's worden verbeterd. U kunt afdwingen dat andere symbolen worden geladen door de lijst met opgenomen modules te maken.

    • Zoek naar alle modulesymbolen, tenzij uitgesloten: Forceer Visual Studio om alle symbolen in uw foutopsporingsproces te laden. Deze optie wordt niet aanbevolen omdat dit uw foutopsporingservaring kan vertragen. U kunt ervoor zorgen dat Visual Studio bepaalde symbolen negeert door de lijst met uitgesloten modules te maken.

  1. Selecteer OK om uw instellingen toe te passen.

Modulefilters opgeven

Met de opties Automatisch kiezen ... en Zoeken naar alle ... kunt u bepalen waarnaar symbolen worden gezocht tijdens foutopsporing.

Als u automatisch wilt kiezen welke modulesymbolen u wilt zoeken , geeft u de zoeklijst op door de lijst opgenomen modules te maken.

Schermopname van het maken van de lijst met opgenomen modules.

  1. Selecteer + Toevoegen in de lijstwerkbalk.

  2. Voer in het dialoogvenster Item toevoegen de modulenaam in, schakel het selectievakje Ingeschakeld in en selecteer Opslaan.

  3. Voeg indien nodig meer items toe aan de lijst.

Geef de zoeklijst op door de koppeling Modulefilters opgeven te selecteren:

Schermopname die laat zien hoe u de link 'Modulefilters opgeven' selecteert.

Als u automatisch wilt kiezen welke modulesymbolen u wilt zoeken , wordt het dialoogvenster Automatische zoekvoorkeuren voor symbolen geopend:

schermopname van het opgeven van modulefilters.

Als u de filterlijst Modules wilt maken, selecteert u Nieuwe module (+), voert u de nieuwe modules in en selecteert u OK.

Modulefilters ondersteunen eenvoudige jokertekenkoppelingen. Het sterretje * komt overeen met een groep tekens. * myproduct* komt bijvoorbeeld overeen met bestanden zoals myproduct.utilities.dll en entrypoint.myproduct.exe, onder andere.

U kunt andere opties configureren om uw ervaring aan te passen:

  • Laad altijd symbolen naast modules: Visual Studio laadt PDB-bestanden die zijn opgeslagen in het bestandssysteem met de bijbehorende .dll - of .exe-bestanden . Deze aanpak kan handig zijn, bijvoorbeeld wanneer u probeert fouten op te sporen in een geïmplementeerde web-app.

  • Automatisch extra symbolen laden wanneer dat nodig is: Visual Studio zoekt naar symbolen om veelvoorkomende foutopsporingsacties uit te voeren, zoals stappen, zelfs als de module waarnaar u stapt, zich niet in uw project of in het modulefilter bevindt. De manier waarop zoeken wordt bepaald, kan worden beïnvloed door uw Just My Code-instellingen .

Voor de zoekfunctie voor alle modulesymbolen, tenzij uitgesloten, geeft u de zoeklijst op door de lijst met uitgesloten modules te maken.

Schermopname van het maken van de lijst met uitgesloten modules.

  1. Selecteer + Toevoegen in de lijstwerkbalk.

  2. Voer in het dialoogvenster Item toevoegen de modulenaam in, schakel het selectievakje Ingeschakeld in en selecteer Opslaan.

  3. Voeg indien nodig meer items toe aan de lijst.

Voor het dialoogvenster Zoeken naar alle modulesymbolen, tenzij uitgesloten, wordt het dialoogvenster Voorkeuren voor symbooluitsluiting geopend:

Schermopname van het opgeven van uitgesloten modules.

Als u de filterlijst Modules wilt maken, selecteert u Nieuwe module (+), voert u de nieuwe modules in en selecteert u OK.

In dit dialoogvenster kunt u kiezen voor welke modules u niet wilt dat Visual Studio symbolen laadt. In dit scenario probeert Visual Studio symbolen te laden voor elke module in uw foutopsporingsproces (inclusief modules van niet-Microsoft-partijen), tenzij u een overeenkomend filter toevoegt om deze uit te sluiten. De enige andere manier waarop dit gedrag kan worden gewijzigd, is door uw Just My Code-instellingen .

Andere symboolopties voor foutopsporing

U kunt meer opties voor foutopsporingssymbolen selecteren uit het menu Extra (of Foutopsporing) >Opties.

De volgende instellingen zijn beschikbaar in de sectie Alle instellingen>voor foutopsporing>algemeen .

De volgende instellingen zijn beschikbaar in de sectie Foutopsporing>algemeen .

  • Dll-exports laden (alleen systeemeigen): laadt DLL-exporttabellen voor C/C++. Zie DLL-exporttabellenvoor meer informatie. Het lezen van DLL-exportgegevens omvat enige overhead, dus het laden van exporttabellen is standaard uitgeschakeld. U kunt ook dumpbin /exports gebruiken in een C/C++-build-opdrachtregel.

  • Schakel foutopsporing op adresniveau in en demonteren weergeven als de bron niet beschikbaar is: Laat altijd de demontage zien wanneer bron- of symboolbestanden niet worden gevonden.

  • Schakel ondersteuning voor de bronserver in: maakt gebruik van bronserver om fouten in een app op te sporen wanneer er geen broncode op de lokale computer is, of het .pdb-bestand komt niet overeen met de broncode. Bronserver neemt aanvragen voor bestanden en retourneert de werkelijke bestanden uit broncodebeheer. Bronserver wordt uitgevoerd met behulp van een DLL met de naam srcsrv.dll om het .pdb--bestand van de app te lezen. Het .pdb-bestand bevat aanwijzers naar de opslagplaats met broncode en opdrachten die worden gebruikt om broncode op te halen uit de opslagplaats.

    U kunt de opdrachten beperken die srcsrv.dll kunnen uitvoeren vanuit het .pdb--bestand van de app door de toegestane opdrachten in een bestand met de naam srcsrv.iniweer te geven. Plaats het srcsrv.ini bestand in dezelfde map als srcsrv.dll en devenv.exe.

    Belangrijk

    Willekeurige opdrachten kunnen worden ingesloten in het .pdb--bestand van een app, dus zorg ervoor dat u alleen de opdrachten plaatst die u wilt uitvoeren in een srcsrv.ini bestand. Een poging om een opdracht uit te voeren die niet in het srcsvr.ini bestand wordt uitgevoerd, activeert een bevestigingsdialoogvenster. Zie Beveiligingswaarschuwing: Foutopsporingsprogramma moet niet-vertrouwde opdrachtuitvoeren voor meer informatie.

    Er wordt geen validatie uitgevoerd op opdrachtparameters, dus wees voorzichtig met vertrouwde opdrachten. Als u bijvoorbeeld cmd.exe in uw srcsrv.inivermeldt, kan een kwaadwillende gebruiker parameters opgeven voor cmd.exe die het gevaarlijk kunnen maken.

    Selecteer de gewenste ondersteunende voorkeuren. Houd er rekening mee dat de opties bronserver toestaan voor gedeeltelijke vertrouwensassembly's (alleen beheerd) en altijd niet-vertrouwde bronserveropdrachten uitvoeren zonder om bevestiging te vragen de beveiligingsrisico's kunnen verhogen.

Opties voor compilersymbool

Wanneer u een project bouwt vanuit de Visual Studio IDE met de standaard-Foutopsporing buildconfiguratie, maken de C++ en beheerde compilers de juiste symboolbestanden voor uw code. U kunt ook compileropties instellen in code.

Als u de compileropties voor uw buildconfiguraties in Visual Studio wilt instellen, raadpleegt u Foutopsporings- en releaseconfiguraties instellen.

.NET-opties

Bouw met /debug om een .pdb bestand te maken. U kunt toepassingen bouwen met /debug:full of /debug:pdbonly. Bouwen met /debug:full genereert code die gemakkelijk debugged kan worden. Bouwen met /debug:pdbonly genereert .pdb-bestanden, maar niet de DebuggableAttribute die aangeeft aan de JIT-compiler dat foutopsporingsgegevens beschikbaar zijn. Gebruik /debug:pdbonly als u .pdb-bestanden wilt genereren voor een release-build die u niet foutopsporingsbaar wilt maken. Zie /debug (C#-compileropties) of /debug (Visual Basic)voor meer informatie.

C/C++ opties

  • VC<x>.pdb en <project>.pdb bestanden

    Er wordt een .pdb--bestand voor C/C++ gemaakt wanneer u bouwt met /ZI of /Zi. In Visual C++ geeft de optie /Fd de naam aan het bestand .pdb- dat de compiler maakt. Wanneer u een project maakt in Visual Studio met behulp van de IDE, wordt de optie /Fd ingesteld om een .pdb--bestand met de naam <project>.pdb-te maken.

    Als u uw C/C++-toepassing bouwt met behulp van een makefile en u /ZI- of /Zi zonder /Fd- op te geven om een bestandsnaam op te geven, maakt de compiler twee .pdb--bestanden:

    • VC<x>.pdb-, waarbij <x> de versie van de Microsoft C++-compiler vertegenwoordigt, bijvoorbeeld VC11.pdb-

      Het bestand VC<x>.pdb slaat alle foutopsporingsgegevens voor de afzonderlijke objectbestanden op en bevindt zich in dezelfde map als het project makefile. Telkens wanneer er een objectbestand wordt gemaakt, voegt de C/C++-compiler foutopsporingsinformatie samen in VC<x>.pdb-. Dus zelfs als elk bronbestand algemene headerbestanden bevat, zoals <windows.h>, worden de typedefs uit deze headers slechts één keer opgeslagen in plaats van in elk objectbestand. De ingevoegde informatie bevat typegegevens, maar bevat geen symboolgegevens, zoals functiedefinities.

    • <project.pdb>

      Het <project>.pdb--bestand slaat alle foutopsporingsinformatie voor het .exe-bestand van het project op en bevindt zich in de submap \debug. Het <project>.pdb--bestand bevat volledige foutopsporingsgegevens, waaronder functieprototypes, niet alleen de typegegevens in VC<x>.pdb-.

    Zowel de VC<x>.pdb- als <project>.pdb--bestanden staan incrementele updates toe. Met de linker wordt ook het pad naar de .pdb--bestanden ingesloten in het .exe-bestand of het .dll-bestand dat het aanmaakt.

  • DLL-exporttabellen

    Gebruik dumpbin /exports om de symbolen te zien die beschikbaar zijn in de exporttabel van een DLL. Symbolische informatie uit DLL-exporttabellen kan handig zijn voor het werken met Windows-berichten, Windows-procedures (WindowProcs), COM-objecten, marshaling of dll-bestanden waarvoor u geen symbolen hebt. Symbolen zijn beschikbaar voor elke 32-bits systeem-DLL. De aanroepen worden weergegeven in de volgorde van aanroepen, waarbij de huidige functie (de diepst genestste) bovenaan staat.

    Door de dumpbin /exports uitvoer te lezen, ziet u de exacte functienamen, inclusief niet-phanumerische tekens. Het weergeven van exacte functienamen is handig voor het instellen van een onderbrekingspunt voor een functie, omdat functienamen elders in het foutopsporingsprogramma kunnen worden afgekapt. Zie dumpbin /exportsvoor meer informatie.

Webtoepassingen

Stel het web.config-bestand van uw ASP.NET toepassing in op de foutopsporingsmodus. De foutopsporingsmodus zorgt ervoor dat ASP.NET symbolen genereert voor dynamisch gegenereerde bestanden en dat het foutopsporingsprogramma kan worden gekoppeld aan de ASP.NET-toepassing. Visual Studio stelt dit automatisch in wanneer u fouten gaat opsporen als u uw project hebt gemaakt op basis van de sjabloon voor webprojecten.

Symbolen laden tijdens foutopsporing

U kunt de Modules, Call Stack, Locals, Autosof een Watch venster gebruiken om symbolen te laden of symboolopties te wijzigen tijdens foutopsporing. Voor meer informatie, zie Hoe het foutopsporingsprogramma aan uw app wordt gekoppeld om er meer vertrouwd mee te raken.

Werken met symbolen in het venster Modules

Tijdens foutopsporing worden in het venster Modules de codemodules weergegeven die door het foutopsporingsprogramma worden behandeld als gebruikerscode, of Mijn code, en de laadstatus van het symbool. U kunt ook de laadstatus van symbolen bewaken, symbolen laden en symboolopties wijzigen in het venster Modules.

nl-NL: Om symboollocaties of opties te bekijken of aan te passen tijdens het debuggen:

  1. Als u het venster Modules wilt openen, selecteert u tijdens foutopsporing Foutopsporing>Windows>Modules (of drukt u op Ctrl + Alt + U).

  2. Klik in het venster Modules met de rechtermuisknop op de symboolstatus of de symboolbestand koptekst, of een module.

  3. Selecteer in het contextmenu een van de volgende opties:

    Optie Beschrijving
    symbolen laden Wordt weergegeven voor modules met overgeslagen, niet gevonden of niet geladen symbolen. Pogingen om symbolen te laden vanaf locaties die zijn opgegeven in het deelvenster Extra>Opties onder degedeelten>Alle instellingen>Debuggen>Symbolen Zoeken en Laden of Zoeklocaties. Als het symboolbestand niet is gevonden of niet is geladen, start u Verkenner , zodat u een nieuwe locatie kunt opgeven om te zoeken.
    informatie over het laden van symbolen Geeft de locatie weer van een geladen symboolbestand of de locaties die zijn doorzocht als het foutopsporingsprogramma het bestand niet kan vinden.
    Symboolinstellingen Hiermee opent u het deelvenster Extra>Opties in de sectie Alle instellingen>Debugging>Symbolen>Zoeklocaties, waar u symboollocaties kunt bewerken en toevoegen.
    altijd automatisch laden Hiermee voegt u het geselecteerde symboolbestand toe aan de lijst met bestanden die automatisch worden geladen door het foutopsporingsprogramma.
    Bron naar symboolbestand decompileren Voor .NET-code kunt u deze optie kiezen en vervolgens instructies volgen in Bronnen genereren en insluiten voor een assembly.
    Optie Beschrijving
    symbolen laden Wordt weergegeven voor modules met overgeslagen, niet gevonden of niet geladen symbolen. Pogingen om symbolen te laden vanaf locaties die zijn opgegeven in het dialoogvenster Extra>Opties onder de sectie Foutopsporing>Symbolen. Als het symboolbestand niet is gevonden of niet is geladen, start u Verkenner , zodat u een nieuwe locatie kunt opgeven om te zoeken.
    informatie over het laden van symbolen Geeft de locatie weer van een geladen symboolbestand of de locaties die zijn doorzocht als het foutopsporingsprogramma het bestand niet kan vinden.
    Symboolinstellingen Hiermee opent u het dialoogvenster Extra>opties naar de sectie foutopsporing>symbolen, waar u symboollocaties kunt bewerken en toevoegen.
    altijd automatisch laden Hiermee voegt u het geselecteerde symboolbestand toe aan de lijst met bestanden die automatisch worden geladen door het foutopsporingsprogramma.
    Bron naar symboolbestand decompileren Voor .NET-code kunt u deze optie kiezen en vervolgens instructies volgen in Bronnen genereren en insluiten voor een assembly.

Gebruik de pagina's 'Geen symbolen geladen'/'Geen bron geladen'

Er zijn verschillende manieren om het foutopsporingsprogramma in te splitsen in code waarvoor geen symbool- of bronbestanden beschikbaar zijn:

  • Duik in de code.
  • Inbreken in code vanuit een onderbrekingspunt of uitzondering.
  • Schakel over naar een andere thread.
  • Wijzig het stackframe door te dubbelklikken op een frame in het venster Oproepstack.

Als dit gebeurt, geeft de debugger de Geen symbolen geladen of Geen bron geladen pagina's weer, zodat u de benodigde symbolen of bron kunt vinden en laden.

Schermopname van de pagina Geen symbolen geladen.

Gebruik de pagina 'Geen symbolen geladen' om ontbrekende symbolen te vinden en te laden:

  • Als u het zoekpad wilt wijzigen, selecteert u een niet-geselecteerd pad of selecteert u Nieuw pad of Nieuw VSTS-pad en voert u een nieuw pad in of selecteert u dit. Selecteer Laden om de paden opnieuw te doorzoeken en laad het symboolbestand als het is gevonden.

  • Als u opties voor symbolen wilt overschrijven en de zoekpaden opnieuw wilt proberen, selecteert u Bladeren en zoekt u <uitvoerbare naam>. Het symboolbestand wordt geladen als het wordt gevonden of verkenner wordt geopend, zodat u het symboolbestand handmatig kunt selecteren.

  • Als u de symboolinstellingenpagina wilt openen om het gedrag te configureren, selecteert u Symboolinstellingen wijzigen (of opent u het Hulpprogramma's>Opties venster en gaat u naar de sectie Alle Instellingen>Debuggen>Symbolen>Zoeken en Laden of Zoeklocaties).
  • Als u de pagina symboolinstellingen wilt openen om gedrag te configureren, selecteert u Symboolinstellingen wijzigen (of opent u het dialoogvenster Extra>opties en gaat u naar de sectieSymbolen>).
  • (Geavanceerd) Als u de demontage in een nieuw venster eenmalig wilt weergeven, selecteert u Demontage weergeven of selecteert u het dialoogvenster Opties om de optie in te stellen om de demontage altijd weer te geven wanneer bron- of symboolbestanden niet worden gevonden. Zie Demontagecode weergevenvoor meer informatie.

  • Als u de doorzochte locaties en het resultaat wilt weergeven, opent u informatie over symboolbelasting.

  • Voor C#-code kunt u er ook voor kiezen om de broncode te decompileren uit de Geen symbolen geladen of Geen bron geladen pagina's.

Als het foutopsporingsprogramma het .pdb--bestand vindt nadat u een van de opties hebt uitgevoerd en het bronbestand kan ophalen met behulp van de informatie in het bestand .pdb, wordt de bron weergegeven. Anders wordt er een Geen Bron Geladen pagina weergegeven die het probleem beschrijft, met koppelingen naar acties die het probleem kunnen oplossen.

Zoekpaden voor bronbestanden toevoegen aan een oplossing:

U kunt de locaties opgeven waarop het foutopsporingsprogramma zoekt naar bronbestanden en specifieke bestanden uitsluiten van de zoekopdracht.

  1. Selecteer de oplossing in Solution Exploreren selecteer vervolgens het pictogram Eigenschappen, druk op Alt+Enterof klik met de rechtermuisknop en selecteer Eigenschappen.

  2. Selecteer Bronbestanden voor foutopsporing.

    Pagina voor het debuggen van bronbestanden

  3. Typ of selecteer onder mappen met broncodede locatie van de broncode die u wilt zoeken. Gebruik het pictogram Nieuwe regel om meer locaties toe te voegen, de pijlpictogrammen Omhoog en Omlaag om ze opnieuw te ordenen, of het pictogram X om ze te verwijderen.

    Notitie

    Het foutopsporingsprogramma doorzoekt alleen de opgegeven map. U moet vermeldingen toevoegen voor alle submappen die u wilt zoeken.

  4. Typ onder Zoek niet naar deze bronbestandende namen van bronbestanden die u wilt uitsluiten van zoeken.

  5. Selecteer OK of Toepassen.