Ange symbol (.pdb) och källfiler i Visual Studio-felsökningsprogrammet (C#, C++, Visual Basic, F#)

Programdatabasfiler (.pdb), som även kallas symbolfiler, kartar identifierare och uttalanden i ditt projekts källkod till motsvarande identifierare och instruktioner i kompilerade appar. Dessa mappningsfiler länkar felsökningsprogrammet till källkoden, vilket möjliggör felsökning.

När du skapar ett projekt från Visual Studio IDE med standardkonfigurationen för felsökningsversion skapar kompilatorn lämpliga symbolfiler. Den här artikeln beskriver hur du hanterar symbolfiler i IDE, till exempel:

En detaljerad förklaring av symbolfiler finns i Förstå symbolfiler och Visual Studio-symbolinställningar.

Så här fungerar symbolfiler

Filen .pdb innehåller felsöknings- och projekttillståndsinformation som möjliggör inkrementell länkning av en felsökningskonfiguration för din app. Visual Studio-felsökningsprogrammet använder .pdb--filer för att fastställa två viktiga informationsdelar vid felsökning:

  • Källfilens namn och radnummer som ska visas i Visual Studio IDE
  • Var i appen kan en brytpunkt sättas?

Symbolfiler visar också platsen för källfilerna, och eventuellt servern att hämta dem från.

Felsökningsprogrammet läser bara in .pdb- filer som exakt matchar de .pdb- filer som skapades när en app skapades (dvs. den ursprungliga .pdb filer eller kopior). Den här exakta dupliceringen är nödvändig eftersom layouten för appar kan ändras även om själva koden inte ändras. Mer information finns i Varför kräver Visual Studio felsökningssymbolfiler för att exakt matcha de binära filer som de skapades med?

Tips

Om du vill felsöka kod utanför projektets källkod, till exempel Windows-kod eller kod från tredje part som projektet anropar, måste du ange platsen för den externa kodens .pdb -filer (och eventuellt källfilerna), som måste exakt matcha versionerna i din app.

Där felsökningsprogrammet letar efter symboler

När du felsöker ett projekt i Visual Studio IDE läser felsökningsprogrammet automatiskt in symbolfiler som det kan hitta som standard.

Obs

När du felsöker hanterad kod på en fjärrenhet måste alla symbolfiler finnas antingen på den lokala datorn eller på en plats anges i felsökningsalternativen.

Felsökningsprogrammet söker efter symbolfiler på följande platser i angiven ordning:

  1. Projektmappen.

  2. Den plats som anges i DLL-filen eller den körbara filen (.exe).

    Som standard, om du har skapat en DLL-fil eller en .exe-fil på datorn, placerar länkaren den fullständiga sökvägen och filnamnet för den associerade .pdb--filen i DLL-filen eller .exe-filen. Felsökningsprogrammet kontrollerar om symbolfilen finns på den platsen.

  3. Samma mapp som DLL- eller .exe-filen.

  4. Alla platser som anges i felsökningsalternativen för symbolfiler. Information om hur du lägger till och aktiverar symbolplatser finns i Konfigurera symbolplatser och inläsningsalternativ.

    • Alla lokala symbolcachemappar.

    • Angivna nätverks-, Internet- eller lokala symbolservrar och platser, till exempel Microsoft-symbolservrar om de väljs. Visual Studio kan ladda ned felsökningssymbolfiler från symbolservrar som implementerar symsrv protokollet. Visual Studio Team Foundation Server och Felsökningsverktyg för Windows är två verktyg som kan använda symbolservrar.

      Symbolservrar som du kan använda är:

      offentliga Microsoft-symbolservrar: Om du vill felsöka en krasch som inträffar under ett anrop till en system-DLL eller till ett bibliotek från tredje part behöver du ofta system .pdb filer. System .pdb-filer innehåller symboler för Windows DLL:er, .exe filer och enhetsdrivrutiner. Du kan hämta symboler för Windows-operativsystem, MDAC, IIS, ISA och .NET från de offentliga Microsoft-symbolservrarna.

      symbolservrar i ett internt nätverk eller på din lokala dator: Ditt team eller företag kan skapa symbolservrar för dina egna produkter och som cacheminne för symboler från externa källor. Du kan ha en symbolserver på din egen dator.

      tredjepartssymbolservrar: Tredjepartsleverantörer av Windows-program och -bibliotek kan ge åtkomst till symbolservern på Internet.

Varning

Om du använder en annan symbolserver än de offentliga Microsoft-symbolservrarna kontrollerar du att symbolservern och dess sökväg är tillförlitliga. Eftersom symbolfiler kan innehålla godtycklig körbar kod kan du utsättas för säkerhetshot.

Konfigurera plats för symbolfiler och inläsningsalternativ

Felsökningsprogrammet kontrollerar olika platser efter symboler som standard. Mer information finns i Var felsökningsprogrammet letar efter symboler.

På menyn Verktyg (eller Felsökning) > kan du komma åt alternativenfelsökningssymboler>:

  • Ange och välj sökvägar för symbolfiler.
  • Ange symbolservrar för Microsoft-, Windows- eller tredjepartskomponenter.
  • Ange moduler som du vill eller inte vill att felsökaren ska läsa in symboler automatiskt för.
  • Ändra de här inställningarna medan du aktivt felsöker. Se Läs in symboler vid felsökning.

Ange symbolplatser och inläsningsalternativ:

  1. Öppna fönstret Verktyg (eller Felsöka) >Alternativ och expandera avsnittet Alla inställningar>Felsökning> och Allmänna>Symboler>Sökplatser.

  2. I den högra rutan markerar du kryssrutan för varje önskad server: Microsoft-symbolservrar, NuGet.org symbolserver och så vidare.

  3. Lägg till en ny plats för symbolserver genom att välja + Lägg till i verktygsfältet för grupprutan Symbolfil (.pdb)-platser.

    Ange URL:en (http), nätverksresursen eller den lokala sökvägen till symbolservern eller symbolplatsen i textfältet. Komplettering av påstående hjälper dig att hitta rätt format.

    Skärmbild som visar hur du lägger till en ny symbolserverplats i Visual Studio.

    Obs

    Endast den angivna mappen genomsöks. Du måste lägga till poster för alla undermappar som du vill söka i.

    Markera kryssrutan Aktiverad och välj sedan Spara.

  4. Lägg till en Azure DevOps-symbolserverplats genom att välja länken Ny Azure DevOps-symbolserverplats.

    I dialogrutan Anslut till Azure DevOps-symbolserver väljer du en tillgänglig symbolserver och väljer sedan Anslut.

    Skärmbild som visar hur du lägger till en ny Azure DevOps-symbolserverplats i Visual Studio.

    Mer information finns i Lägg till Azure Artifacts-symbolserver.

    • Om du vill ändra inläsningsordningen för symbolplatserna använder du Ctrl + uppåt och Ctrl + nedåt eller väljer Flytta uppåt och Flytta nedåt.
    • Om du vill redigera en URL eller sökväg dubbelklickar du på posten eller markerar posten och väljer Redigera.
    • Om du vill ta bort en post markerar du posten och väljer Ta bort.
  1. Öppna dialogrutan Verktyg (eller Felsökning) >och expandera avsnittetFelsökningssymboler>.

  2. I rutan Symbolfil (.pdb) sökplatser markerar du kryssrutan för varje önskad server: Microsoft-symbolservrar, NuGet.org symbolserver och så vidare.

  1. Lägg till en ny symbolserverplats genom att välja Ny plats (+) i verktygsfältet för sökplatsgruppen Symbolfil (.pdb ).

    Ange URL:en (http), nätverksresursen eller den lokala sökvägen till symbolservern eller symbolplatsen i textfältet. Komplettering av påstående hjälper dig att hitta rätt format.

    Skärmbild som visar hur du lägger till en ny symbolserverplats.

    Obs

    Endast den angivna mappen genomsöks. Du måste lägga till poster för alla undermappar som du vill söka i.

  1. Lägg till en ny symbolserverplats genom att välja Ny plats (+) i verktygsfältet för sökplatsgruppen Symbolfil (.pdb ).

    Ange URL:en (http), nätverksresursen eller den lokala sökvägen till symbolservern eller symbolplatsen i textfältet. Komplettering av påstående hjälper dig att hitta rätt format.

    Animering som visar hur du lägger till en ny symbolserverplats.

    Obs

    Endast den angivna mappen genomsöks. Du måste lägga till poster för alla undermappar som du vill söka i.

  1. Lägg till en ny Plats för Azure DevOps-symbolservern genom att välja Ny Plats för Azure DevOps-symbolserver i verktygsfältet i grupprutan.

    I dialogrutan Anslut till Azure DevOps-symbolserver väljer du en tillgänglig symbolserver och väljer sedan Anslut.

    Mer information finns i Lägg till Azure Artifacts-symbolserver.

    • Om du vill ändra inläsningsordningen för symbolplatserna använder du Ctrl + uppåt och Ctrl + nedåt eller väljer åtgärderna Upp och ned .
    • Om du vill redigera en URL eller sökväg dubbelklickar du på posten eller markerar posten och trycker på F2.
    • Om du vill ta bort en post markerar du den och väljer Ta bort plats (-).
  1. (Valfritt) Förbättra symbolinläsningsprestanda genom att ange en lokal mappsökväg för kopierade symboler.

    För alternativet Cachesymboler i den här katalogen anger du en lokal mappsökväg som symbolservrar kan kopiera symboler till.

    Obs

    • Placera inte den lokala symbolcachen i en skyddad mapp, till exempel C:\Windows eller en undermapp. Använd en läsa-och-skriva mapp i stället.

    • Om _NT_SYMBOL_PATH miljövariabeln anges åsidosätter värdet cachesymbolerna i det här katalogvärdet .

  2. Ange de moduler som felsökaren ska läsa in från symbolfilens (.pdb) platser när den startas.

    1. Ändra till avsnittet Alla inställningar>Felsökning>Generellt>Symboler>Sök och läs in.

    2. Använd listrutan för att ange värdet för alternativet Automatisk symbolsökning :

      • Välj automatiskt vilka modulsymboler som ska sökas efter (rekommenderas): Tillåt att Visual Studio bestämmer vilka symboler som ska sökas efter och läsas in. Som standard läser Visual Studio automatiskt in symboler som skapats av den öppnade lösningen och läser in alla andra symboler som krävs för att utföra vanliga felsökningsåtgärder. Det här alternativet minskar antalet filer som måste sökas efter och läsas in av Visual Studio, vilket förbättrar felsökningsprestandan. Du kan tvinga andra symboler att läsas in genom att skapa listan med inkluderade moduler.

        Skärmbild som visar hur du väljer och konfigurerar alternativet Välj automatiskt vilka modulsymboler som ska sökas efter.

      • Sök efter alla modulsymboler om de inte är undantagna: Tvinga Visual Studio att läsa in alla symboler i din debuggade process. Det här alternativet rekommenderas inte eftersom det kan göra felsökningen långsammare. Du kan tvinga Visual Studio att ignorera vissa symboler genom att skapa listan över exkluderade moduler.

        Skärmbild som visar hur du väljer och konfigurerar alternativet Sök efter alla modulsymboler om det inte utesluts.

    I avsnittetFelsökningssymboler> väljer du värdet för alternativet Symbolsökinställningar:

    Skärmbild som visar hur du väljer och konfigurerar alternativet Inställningar för symbolsökning.

    • Välj automatiskt vilka modulsymboler som ska sökas efter (rekommenderas): Tillåt att Visual Studio bestämmer vilka symboler som ska sökas efter och läsas in. Som standard läser Visual Studio automatiskt in symboler som skapats av den öppnade lösningen och läser in alla andra symboler som krävs för att utföra vanliga felsökningsåtgärder. Det här alternativet minskar antalet filer som måste sökas efter och läsas in av Visual Studio, vilket förbättrar felsökningsprestandan. Du kan tvinga andra symboler att läsas in genom att skapa listan med inkluderade moduler.

    • Sök efter alla modulsymboler om de inte är undantagna: Tvinga Visual Studio att läsa in alla symboler i din debuggade process. Det här alternativet rekommenderas inte eftersom det kan göra felsökningen långsammare. Du kan tvinga Visual Studio att ignorera vissa symboler genom att skapa listan över exkluderade moduler.

    • Läs in alla moduler, såvida de inte är undantagna (standard): Läs in alla symboler för alla moduler på symbolfilens plats, förutom moduler som du specifikt exkluderar.

      Om du vill undanta vissa moduler väljer du Ange exkluderade moduler. Välj Lägg till (+), ange namnen på de moduler som ska undantas och välj OK.

    • Läs endast in angivna moduler: Läs endast in moduler som du anger från symbolfilens platser.

      Om du vill identifiera modulerna väljer du Ange inkluderade moduler. Välj Lägg till (+), ange namnen på de moduler som ska inkluderas och välj sedan OK. Symbolfilerna för andra moduler läses inte in.

  1. Om du vill tillämpa inställningarna väljer du OK.

Ange modulfilter

Med alternativen Välj automatiskt ... och Sök efter alla ... kan du styra vilka symboler som söks efter under felsökningen.

För alternativet Välj automatiskt vilka modulsymboler som ska sökas efter anger du söklistan genom att skapa listan Inkluderade moduler .

Skärmbild som visar hur du skapar listan över inkluderade moduler.

  1. Välj + Lägg till i listverktygsfältet.

  2. I dialogrutan Lägg till objekt anger du modulnamnet, markerar kryssrutan Aktiverad och väljer sedan Spara.

  3. Lägg till fler objekt i listan efter behov.

Ange söklistan genom att välja länken Ange modulfilter :

Skärmbild som visar hur du väljer länken Ange modulfilter.

För alternativet Välj automatiskt vilka modulsymboler som ska sökas efter öppnas dialogrutan Inställningar för automatisk symbolsökning :

Skärmbild av att ange modulfilter.

Om du vill skapa filterlistan Moduler väljer du Ny modul (+), anger de nya modulerna och väljer sedan OK.

Modulfilter stöder enkel wild card-matchning. Asterisken * matchar alla teckengrupper. * myproduct* matchar till exempel filer som myproduct.utilities.dll och entrypoint.myproduct.exe, bland annat.

Du kan konfigurera andra alternativ för att anpassa din upplevelse:

  • Läs alltid in symboler som finns bredvid moduler: Visual Studio läser in .pdb-filer som lagras i filsystemet med motsvarande .dll eller .exe filer. Den här metoden kan vara till hjälp, till exempel när du försöker felsöka en distribuerad webbapp.

  • Läs in ytterligare symboler automatiskt när det behövs: Visual Studio söker efter symboler för att utföra vanliga felsökningsåtgärder, som att stega, även om modulen du går vidare till inte finns i projektet eller i modulfiltret. Hur sökningen bestäms kan påverkas av Just My Code-inställningarna.

Om du inte utesluter alternativet Sök efter alla modulsymboler anger du söklistan genom att skapa listan Exkluderade moduler .

Skärmbild som visar hur du skapar listan över exkluderade moduler.

  1. Välj + Lägg till i listverktygsfältet.

  2. I dialogrutan Lägg till objekt anger du modulnamnet, markerar kryssrutan Aktiverad och väljer sedan Spara.

  3. Lägg till fler objekt i listan efter behov.

För alternativet Sök efter alla modulsymboler om det inte utesluts öppnas dialogrutan Inställningar för symbolundantag :

Skärmbild av att ange exkluderade moduler.

Om du vill skapa filterlistan Moduler väljer du Ny modul (+), anger de nya modulerna och väljer sedan OK.

I den här dialogrutan kan du välja vilka moduler du inte vill att Visual Studio ska läsa in symboler för. I det här scenariot försöker Visual Studio läsa in symboler för varje modul i din debugged-process (inklusive moduler från icke-Microsoft-parter), såvida du inte lägger till ett matchande filter för att undanta dem. Det enda andra sättet att ändra det här beteendet är med dina Just My Code-inställningar .

Andra symbolalternativ för felsökning

Du kan välja fler alternativ för felsökningssymboler på menyn Verktyg (eller >).

Följande inställningar är tillgängliga i avsnittet Alla inställningar>felsökning>allmänt .

Följande inställningar är tillgängliga i avsnittet Felsöka>allmänt .

  • Ladda DLL-exporter (endast för inbyggt): Läser in DLL-exporttabeller för C/C++. Mer information finns i DLL-exporttabeller. Att läsa DLL-exportinformation innebär vissa kostnader, så inläsning av exporttabeller är inaktiverat som standard. Du kan också använda dumpbin /exports på en C/C++-kommandorad.

  • Aktivera felsökning på adressnivå och Visa demontering om källan inte är tillgänglig: Visar alltid demonteringen när käll- eller symbolfiler inte hittas.

  • Aktivera stöd för källserver: Använder källservern för att felsöka en app när det inte finns någon källkod på den lokala datorn, eller om .pdb-filen inte matchar källkoden. Källservern tar begäranden om filer och returnerar de faktiska filerna från källkontrollen. Källservern körs med hjälp av en DLL med namnet srcsrv.dll för att läsa appens .pdb--fil. .pdb-filen innehåller pekare till källkodslagringsplatsen och kommandon som används för att hämta källkod från lagringsplatsen.

    Du kan begränsa de kommandon som srcsrv.dll kan köra från appens .pdb--fil genom att visa de tillåtna kommandona i en fil med namnet srcsrv.ini. Placera srcsrv.ini-filen i samma mapp som srcsrv.dll och devenv.exe.

    Viktig

    Godtyckliga kommandon kan bäddas in i en apps .pdb--fil, så se till att endast placera de kommandon som du vill köra i en srcsrv.ini-fil. Alla försök att köra ett kommando som inte finns i srcsvr.ini-filen utlöser en bekräftelsedialogruta. För mer information, se Säkerhetsvarning: Felsökaren måste köra ett icke-betrott kommando.

    Ingen validering utförs på kommandoparametrar, så var försiktig med betrodda kommandon. Om du till exempel har listat cmd.exe i dinsrcsrv.inikan en obehörig användare ange parametrar på cmd.exe som kan göra det farligt.

    Välj önskade stödinställningar. Tänk på att Tillåt källserver för partiella förtroendesammansättningar (endast hanterad) och Kör alltid obetrodda källserverkommandon utan att fråga kan öka säkerhetsriskerna.

Alternativ för kompilatorsymbol

När du skapar ett projekt från Visual Studio IDE med standardkonfigurationen Debug build skapar C++ och hanterade kompilatorer lämpliga symbolfiler för koden. Du kan också ange kompilatoralternativ i kod.

Information om hur du anger kompileringsalternativ för dina byggkonfigurationer i Visual Studio finns i Ange felsöknings- och versionskonfigurationer.

.NET-alternativ

Skapa med /debug för att skapa en .pdb--fil. Du kan skapa program med /debug:full eller /debug:pdbonly. Bygga med /debug:full genererar felsökningsbar kod. Bygg med /debug:pdbonly genererar .pdb-filer, men det genererar inte det DebuggableAttribute som informerar JIT-kompilatorn att felsökningsinformation är tillgänglig. Använd /debug:pdbonly om du vill generera .pdb-filer för en versionsversion som du inte vill ska vara felsökningsbar. Mer information finns i /debug (C#-kompilatoralternativ) eller /debug (Visual Basic).

C/C++-alternativ

  • VC<x>.pdb och <projektfiler>.pdb

    En .pdb- fil för C/C++ skapas när du skapar med /ZI eller /Zi. I Visual C++namnger alternativet /Fd den .pdb- fil som kompilatorn skapar. När du skapar ett projekt i Visual Studio med hjälp av IDE är alternativet /Fd inställt på att skapa en .pdb- fil med namnet <project>.pdb.

    Om du skapar C/C++-programmet med hjälp av en makefile och anger /ZI eller /Zi utan att använda /Fd för att ange ett filnamn, skapar kompilatorn två .pdb- filer:

    • VC<x>.pdb, där <x> representerar versionen av Microsoft C++-kompilatorn, till exempel VC11.pdb

      Filen VC<x>.pdb lagrar all felsökningsinformation för de enskilda objektfilerna och finns i samma katalog som projektfilen. Varje gång den skapar en objektfil sammanfogar C/C++-kompilatorn felsökningsinformation till VC<x>.pdb. Så även om varje källfil innehåller vanliga huvudfiler som <windows.h>lagras typedefs från dessa rubriker bara en gång i stället för i varje objektfil. Den infogade informationen innehåller typinformation, men innehåller inte symbolinformation, till exempel funktionsdefinitioner.

    • <projekt>.pdb

      <-projektet>.pdb-filen lagrar all felsökningsinformation för projektets .exe-fil och finns i underkatalogen \debug. <-projektet>.pdb- fil innehåller fullständig felsökningsinformation, inklusive funktionsprototyper, inte bara typinformationen som finns i VC<x>.pdb.

    Både VC<x>.pdb och <project>.pdb-filer tillåter inkrementella uppdateringar. Länkaren bäddar också in sökvägen till .pdb--filer i den .exe- eller .dll-filen som den skapar.

  • DLL-exporttabeller

    Använd dumpbin /exports för att se de symboler som är tillgängliga i exporttabellen för en DLL. Symbolisk information från DLL-exporttabeller kan vara användbar för att arbeta med Windows-meddelanden, Windows-procedurer (WindowProcs), COM-objekt, marskalkering eller eventuella DLL-filer som du inte har symboler för. Symboler är tillgängliga för valfri 32-bitars system-DLL. Anropen visas i anropsordningen med den aktuella funktionen (den mest kapslade) överst.

    Genom att dumpbin /exports läsa utdata kan du se de exakta funktionsnamnen, inklusive icke-numeriska tecken. Att se exakta funktionsnamn är användbart för att ange en brytpunkt för en funktion, eftersom funktionsnamn kan trunkeras någon annanstans i felsökningsprogrammet. Mer information finns i dumpbin /exports.

Webbapplikationer

Ange web.config-filen för ditt ASP.NET-program till felsökningsläge. Felsökningsläget gör att ASP.NET genererar symboler för dynamiskt genererade filer och gör att felsökaren kan ansluta till ASP.NET-programmet. Visual Studio anger detta automatiskt när du börjar felsöka om du har skapat projektet från webbprojektmallen.

Läsa in symboler vid felsökning

Du kan använda Modules, Call Stack, Locals, Autoseller något Watch-fönster för att läsa in symboler eller ändra symbolalternativ vid felsökning. Mer information finns i Bekanta dig med hur felsökningsprogrammet ansluter till din app.

Arbeta med symboler i fönstret Moduler

Under felsökningen visar fönstret Moduler kodmodulerna som felsökaren behandlar som användarkod eller Min kod och deras symbolinläsningsstatus. Du kan också övervaka symbolinläsningsstatus, läsa in symboler och ändra symbolalternativ i fönstret Moduler.

Övervaka eller ändra symbolplatser eller alternativ vid felsökning:

  1. Om du vill öppna fönstret Moduler väljer du Felsöka>Windows>-moduler (eller trycker på Ctrl + Alt + U).

  2. I fönstret Moduler högerklickar du på Symbolstatus eller Symbolfil rubrik, eller på valfri modul.

  3. I snabbmenyn väljer du något av följande alternativ:

    Alternativ Beskrivning
    ladda in symboler Visas för moduler med överhoppade, inte hittade eller inte inlästa symboler. Försöker läsa in symboler från platser som specificeras i Verktyg>Alternativ under avsnittet Alla inställningar för >Debugging>Symboler, i sök- och inläsningssektionen eller sektionen för sökplatser. Om symbolfilen inte hittas eller inte läses in startar Utforskaren så att du kan ange en ny sökplats.
    Symbolinläsningsinformation Visar platsen för en inläst symbolfil eller de platser som genomsöktes om felsökaren inte kan hitta filen.
    Symbolinställningar Öppnar Verktyg>Alternativ-fönstret till avsnittet Alla inställningar>Felsökning>Symboler>Sökplatser, där du kan redigera och lägga till plats för symboler.
    Ladda alltid in automatiskt Lägger till den markerade symbolfilen i listan över filer som läses in automatiskt av felsökningsprogrammet.
    Dekompilera källa till symbolfil För .NET-kod kan du välja det här alternativet och sedan följa anvisningarna i Generera och bädda in källor för en sammansättning.
    Alternativ Beskrivning
    ladda in symboler Visas för moduler med överhoppade, inte hittade eller inte inlästa symboler. Försöker läsa in symboler från platser som anges i dialogrutan Verktygsalternativ> under avsnittetFelsökningssymboler>. Om symbolfilen inte hittas eller inte läses in startar Utforskaren så att du kan ange en ny sökplats.
    Symbolinläsningsinformation Visar platsen för en inläst symbolfil eller de platser som genomsöktes om felsökaren inte kan hitta filen.
    Symbolinställningar Öppnar dialogrutan Verktygsalternativ> i avsnittetFelsökningssymboler>, där du kan redigera och lägga till symbolplatser.
    Ladda alltid in automatiskt Lägger till den markerade symbolfilen i listan över filer som läses in automatiskt av felsökningsprogrammet.
    Dekompilera källa till symbolfil För .NET-kod kan du välja det här alternativet och sedan följa anvisningarna i Generera och bädda in källor för en sammansättning.

Använd sidorna Inga inlästa symboler/Inga inlästa källor

Det finns flera sätt för felsökaren att bryta sig in i kod som inte har symbol- eller källfiler tillgängliga:

  • Gå in i kod.
  • Dela upp koden från en brytpunkt eller ett undantag.
  • Växla till en annan tråd.
  • Ändra stackramen genom att dubbelklicka på en ram i fönstret Anropsstack.

När detta händer visar felsökaren Inga symboler läses in eller Ingen källa läses in sidor som hjälper dig att hitta och läsa in nödvändiga symboler eller källa.

Skärmbild av sidan Inga symboler laddade.

För att använda dokumentsidan Inga symboler inlästa för att hjälpa till att hitta och läsa in saknade symboler:

  • Om du vill ändra sökvägen väljer du en omarkerad sökväg eller väljer Ny sökväg eller Ny VSTS-sökväg och anger eller väljer en ny sökväg. Välj Läs in för att söka efter sökvägarna igen och läs in symbolfilen om den hittas.

  • Om du vill åsidosätta symbolalternativ och försöka sökvägarna igen väljer du Bläddra och letar upp <körbart namn>. Symbolfilen läses in om den hittas, eller så öppnas Utforskaren så att du kan välja symbolfilen manuellt.

  • Om du vill öppna sidan för symbolinställningar för att konfigurera symbolbeteendet väljer du Ändra symbolinställningar (eller öppnar rutan Verktyg>Alternativ och går till avsnittet Alla inställningar>Felsökning>Symboler>Sök och läs in eller Sökplatser).
  • Om du vill öppna sidan symbolinställningar för att konfigurera beteende väljer du Ändra symbolinställningar (eller öppnar dialogrutan Verktygsalternativ> och går till avsnittetFelsökningssymboler>).
  • (Avancerat) Om du vill visa demonteringen i ett nytt fönster en gång väljer du visa demontering eller väljer dialogrutan Alternativ för att ange alternativet att alltid visa demonteringen när käll- eller symbolfiler inte hittas. Mer information finns i Visa demonteringskod.

  • Om du vill visa sökplatserna och resultatet expanderar du Information om symbolinläsning.

  • För C#-kod kan du också välja att dekompilera källkoden från sidorna Inga symboler inlästa eller Ingen källa inläst.

Om felsökaren hittar filen .pdb när du har kört något av alternativen och kan hämta källfilen med hjälp av informationen i filen .pdb visas källan. Annars visas en sida med meddelandet Ingen källinläst, vilken beskriver problemet och har länkar till åtgärder som kan lösa problemet.

Så här lägger du till sökvägar för källfiler i en lösning:

Du kan ange de platser där felsökaren söker efter källfiler och exkludera specifika filer från sökningen.

  1. Välj lösningen i Solution Exploreroch välj sedan ikonen Properties, tryck Alt+Retureller högerklicka och välj Properties.

  2. Välj Felsöka källfiler.

    Felsök källfiler-sidan

  3. Under Kataloger som innehåller källkodskriver eller väljer du de källkodsplatser som ska sökas efter. Använd ikonen Ny rad för att lägga till fler platser, ikonen Upp och nedåt pil för att ordna om dem eller ikonen X för att ta bort dem.

    Obs

    Felsökningsprogrammet söker bara i den angivna katalogen. Du måste lägga till poster för alla underkataloger som du vill söka i.

  4. Under Leta inte efter dessa källfilerskriver du namnen på källfilerna som ska undantas från sökningen.

  5. Välj OK eller Använd.