Sådan bruger du Windows-symbolpakker med Visual Studio 2008?

Indlæg af Hanne Mølgaard Plasc

Problem



Hos Microsoft kan jeg downloade Windows-symbolpakkerne til XP, Vista, Server, endda Windows 7. [12]


Mit problem er: hvordan bruger jeg disse symboler med Visual Studio? Hvor i VS 2008 kan jeg tilføje de downloadede og uddragne symboler, så jeg kan debugge ind i Windows selv?


Hvad jeg vil opnå: Jeg vil fejle \_beginthreadex/endthreadex for at se hvorfor/hvor nogle kode mister håndtag.


Jeg er klar over, at jeg kan indstille visuel studio 2008 for at downloade kildefiler, men det ser ud til at dette kun er for .net rammekilder? [14]

Bedste reference


Symbolpakkerne bruges kun til den version af Windows, som du kører i øjeblikket - de installeres i C: \ Windows \ Symbols, og du kan kun have en installeret ad gangen.


Brug symbolserveren i stedet.


Symbolserver



I Visual Studio, gå til: Tools/Options/Debugging/Symbols. Tilføj 'http://msdl.microsoft.com/download/symbols' til listen Symbol file (.pdb) locations. Du skal indtaste en cache-mappe i Cache symbols from symbol servers to this directory:. Jeg bruger C: \ WebSymbols. Du har masser af plads (jeg har ca. 600 MB i min), selv om du kan rense biblioteket regelmæssigt. [[[15]


Dette vil sænke dine debugging sessioner i første omgang, indtil alle de symboler, du normalt har brug for, er blevet cachelagret.


Alternativt kan du indstille dette globalt til alle Windows-debuggere ved at indstille \_NT\_SYMBOL\_PATH miljøvariablen til noget som dette: SRV*C:WebSymbols*http://msdl.microsoft.com/download/symbols.


Du kan også (som en del af din byggeproces) indsamle dine egne .PDB-filer ved hjælp af SYMSTORE.EXE (fra Debugging Tools for Windows) og tilføj den pågældende mappe til denne liste. [16]


Kildeserver



.PDB-filerne kan have en (valgfri) henvisning til de kildefiler, de blev bygget fra. Som du nævner, kan du bruge denne funktion til at downloade .NET-kilder, men det virker også med C ++-kildefiler. Vi annoterer vores .PDB-filer med SVN-stien og revision af den oprindelige kildefil. Når vi bruger 'Gå til kilde', bruger Visual Studio SVN til at downloade den eksakte kildekode, som EXE blev bygget med. Dette er virkelig cool.


Hvis du vil annotere dine FBF-filer, skal du bruge værktøjerne fra srcsrv -kataloget i Fejlfindingsværktøjer til Windows.

Andre referencer 1


Hvis du vil 'debugge til Windows selv', vil du sandsynligvis gerne være i stand til at vedhæfte allerede igangværende processer, hvilke Express udgaver af MSVC ++ kan ikke gøre. Så hvis du bruger en Express-udgave (eller selvom du ikke gør det), anbefaler jeg at downloade fejlfindingsværktøjer til Windows. Dette giver debuggerne windbg og cdb, som er meget mindre venlig end debuggeren inkluderet med MSVC ++ men mere kraftfuld. [17]