.PDB

PDB-fil

Program Database (Visual C++ Debug Symbols)
Stil et spørgsmål
HURTIGT SVAR

En PDB-fil er en Program Database - en debug-symbolfil, som Visual Studio-compileren opretter sammen med en kompileret EXE eller DLL. Du åbner den ikke direkte; Visual Studio eller WinDbg indlæser den automatisk under debugging. Den største bekymring er ikke malware, men fortrolighed: en PDB afslører interne funktionsnavne og kildestier, så hold den ude af offentlige udgivelsespakker.

Udvikler: Microsoft Kategori: Udviklerfiler Åben standard MIME: application/octet-stream
ÅBNER PÅ Windows Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Aug 16, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er PDB-filformatet?

.pdb-filer indeholder en database for et program - specifikt et struktureret lager af debug-symboler, kilde-fil-mappings og typeinformation produceret af Microsoft Visual C++-toolchainen. De bruges sammen med den matchende .exe eller .dll, de blev kompileret fra; de er ikke indlejret i disse binære filer, men distribueres som separate filer.

Debugging-information

Debug-symboler gemt i .pdb-filer lader debuggere videregive vigtige oplysninger om undtagelser, mappe hukommelsesadresser tilbage til kilde-fil-linjenumre og eksponere funktions- og variabelnavne, der er fjernet fra den endelige binære fil. De er nyttige under fejlfinding af programmer og fejlhåndtering i både udviklings- og produktionsmiljøer.

Hvordan .pdb-filer oprettes

.pdb-filer genereres fra kilde-filer under kompileringsprocessen af MSVC-compileren (cl.exe) og linkeren (link.exe). De er *ikke* et produkt af Just-In-Time (JIT) kompilering - det er en almindelig misforståelse. Moderne .pdb-filer bruger MSF 7.00 (Multi-Stream File) binær-containeren introduceret med Visual Studio .NET. Hver .pdb er knyttet til sin binære fil via en GUID og Age-tæller; en .pdb fra et andet build vil ikke blive indlæst. Da formatet er proprietært, kan kun dedikerede værktøjer som Visual Studio, WinDbg eller llvm-pdbutil læse dem, selvom Microsoft har udgivet en referenceimplementering.

Sikkerhed og tryghed

RISIKO: LOW

En PDB er passive data, der læses af debuggere - den indeholder ingen eksekverbar kode, så det er sikkert at åbne en. Den reelle bekymring er fortrolighed, ikke malware: en PDB afslører interne funktionsnavne, kilde-filstier og kodestruktur, så forsendelse eller lækage af en eksponerer oplysninger om din softwares indre (nyttigt for reverse-engineers). Gem release-PDB-filer på en privat symbol-server i stedet for at pakke dem sammen med produktet.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNProgram Database (Visual C++ Debug Symbols)også kendt som PDB symbol file, Microsoft Program Database
UDVIKLERMicrosoftsiden 1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
MIME-TYPEapplication/octet-stream
TYPEBinær debug-symbol-container (Multi-Stream File / MSF) produceret af MSVC-toolchainen
STANDARDÅben · royaltyfri
Dette filtypenavn bruges også af…
  • Palm OS Database (PalmPilot / eReader bog) - PRC/PDB Palm-database - e-bøger og PDA-app-data (header '...' ved offset 0x3C); åbnes af Palm/eReader-værktøjer, ikke Visual Studio.
  • Protein Data Bank molekylær struktur - En almindelig tekst-PDB-fil, der beskriver 3D-atomkoordinater for et molekyle; åbnes af PyMOL/Chimera/Jmol.
  • Quicken pris/portefølje-data (.pdb) - Intuit Quicken skrev en .pdb-datafil - betydningen som databasen fejlagtigt knyttede sin 'Quicken'-åbner til.
MAGIC BYTES · FILSIGNATUR
OFFSET
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c
HEX
4D6963726F736F667420432F432B2B204D534620372E30300D0A1A4453
ASCII
Microsoft C/C++ MSF 7.00···DS
Moderne MSVC PDB-filer starter med 0x20-byte MSF 7.00 SuperBlock-magic «Microsoft C/C++ MSF 7.00\r\n\x1aDS\0\0\0». Ældre PDB 2.0-filer begynder med «Microsoft C/C++ program database 2.00\r\n\x1aJG». (Urelateret: en Palm PDB og en Protein Data Bank PDB er forskellige filer, der deler denne filtype - se also_used_by.)

Programmer der åbner PDB-filer

Windows4 apps
Visual Studio Freemium PDB-filer indlæses automatisk, når du debugger et matchende build; for et dump, vælg File > Open > Crash Dump og peg Tools > Options > Debugging > Symbols mod PDB-mappen. Community-udgaven er gratis.
WinDbg (Debugging Tools for Windows) Gratis Indstil symbolstien (.sympath) til PDB-mappen/symbol-serveren, og indlæs derefter dumpet eller det aktive mål - WinDbg løser symboler fra PDB-filen.
llvm-pdbutil Open-source Kommandolinje: «llvm-pdbutil dump» inspicerer streams, typer og symboler inde i en PDB - nyttigt til at verificere eller udforske en uden en debugger.
dumpbin / DIA SDK tools Indbygget Leveres med Visual Studio; inspicerer en binær fils debug-mappe og (via DIA) læser PDB-indhold programmatisk.
Linux1 app
llvm-pdbutil Open-source Kommandolinje: «llvm-pdbutil dump» inspicerer streams, typer og symboler inde i en PDB - nyttigt til at verificere eller udforske en uden en debugger.

Tekniske detaljer

dyb specifikation
ContainerformatMSF (Multi-Stream File) - en sidebaseret intern stream-container, der indeholder flere navngivne datastrømme i en enkelt fil
Filsignatur (magic bytes)Starter med ASCII-strengen `Microsoft C/C++ MSF 7.00` efterfulgt af CR LF og specifikke kontrol-bytes ved offset 0; ældre PDB 2.0-filer begynder med `Microsoft C/C++ program database 2.00`
KodningBinær, little-endian byte-rækkefølge overalt
Interne strømmeDBI (Debug Information), TPI/IPI (type- og ID-poster), offentlige og globale symbolstrømme, symbolstrømme pr. modul og kilde-/linjenummer-mappingtabeller
Binær link-nøgleGUID + Age-tæller skrevet i både `.pdb` og debug-mappen i dens parrede `.exe` eller `.dll`; et mismatch får debuggeren til at afvise symbolfilen
Typisk filstørrelse100 KB til 500 MB; store native C++-projekter producerer rutinemæssigt `.pdb`-filer på flere hundrede megabyte
KomprimeringIngen - data er sidestruktureret, men ikke komprimeret
Sidestørrelse4 KB sider i MSF 7.00 (BigMsf); den ældre MSF 2.0-container brugte mindre sidestørrelser
FormatvarianterPDB 2.00 (ældre JG-magic, MSVC 6.0 og tidligere); MSF 7.00 / BigMsf (Visual Studio .NET og frem, nuværende for C/C++); Portable PDB (separat cross-platform format brugt af .NET/Roslyn)
Producent-toolchainMSVC-compiler (`cl.exe`) og linker (`link.exe`); udsendes også af Clang/LLVM, når der målrettes mod Windows med `/Z7` eller `/Zi` compiler-flags
ForbrugerværktøjerVisual Studio Debugger, WinDbg, DIA SDK, `llvm-pdbutil`, `dumpbin`; crash-analyseværktøjer såsom CrashPad og Breakpad symbol-konvertere
Symbol-server support`.pdb`-filer indekseres efter GUID + Age på en symbol-server (via `symstore.exe` eller kompatible servere); debuggere henter den korrekte kopi efter behov ved hjælp af nøglen fra den binære fils debug-mappe
PlatformsupportNative på Windows; cross-platform læsning via LLVM-værktøjer (`llvm-pdbutil`, LLDB) på Linux og macOS
MIME-typeapplication/octet-stream (ingen dedikeret registreret MIME-undertype)
ImplementeringsmønsterÉn `.pdb` pr. build-mål (`.exe` eller `.dll`); distribueret som en separat fil sammen med den binære fil eller gemt på en privat/offentlig symbol-server - ikke indlejret i selve den binære fil
Udgivet1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
Seneste versionMSF 7.00 ('BigMsf'); portable PDB used by .NET/Roslyn alongside it
Åben standardJa · royaltyfri
Specifikationgithub.com

PDB-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med PDB-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om PDB-filer.

Ofte stillede spørgsmål

Hvad er en PDB-fil i Visual Studio?
Det er en Program Database - en debug-symbolfil, som compileren opretter ved siden af din EXE/DLL. Den mapper maskinkode tilbage til kilde-filer, linjenumre og navne, så debuggeren kan vise læsbare stack traces og lade dig gennemgå koden trin for trin.
Hvordan åbner jeg en .pdb-fil?
Du åbner den normalt ikke direkte - Visual Studio eller WinDbg indlæser den automatisk, når den matcher den binære fil, du debugger. For at inspicere en, skal du bruge llvm-pdbutil eller DIA-baserede værktøjer til at dumpe dens symboler som tekst.
Hvorfor siger min debugger, at PDB-filen ikke matcher den binære fil?
Hver PDB bærer et GUID+Age-stempel knyttet til ét specifikt build. Hvis EXE/DLL-filen blev genkompileret, matcher den gamle PDB ikke længere, og debuggeren afviser den. Genopbyg for at få en matchende PDB, eller hent den præcise PDB for det pågældende build.
Kan jeg konvertere en .pdb til PDF?
Ikke for en Visual C++ PDB - det er binære debug-data, ikke et dokument. (Hvis din .pdb faktisk er en Palm/eReader e-bog, som deler filtypenavnet, kan Calibre konvertere den til PDF - men det er en anden filtype.)
Skal jeg sende PDB-filer med mit program?
Nej - din app kører uden dem. PDB-filer er kun til debugging. Mange teams opbevarer dem på en privat symbol-server, så de kan analysere crash-dumps senere uden at eksponere kildestrukturen for brugere.
Kan en PDB gendanne min kildekode?
Nej. Den mapper til kilde-filer og linjenumre og gemmer navne/typer, men den indeholder ikke selve kildekoden. Den gør debugging læsbar; den rekonstruerer ikke din kode.

Referencer

1Microsoft Learn - Symbol (.pdb) files in the debuggerlearn.microsoft.com
2microsoft/microsoft-pdb - PDB format informationgithub.com

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.BINCD/DVD Disc Image (BIN/CUE)
7.RPMSGRestricted Permission Message
8.NOMEDIAAndroid No-Media Marker File
9.TMPTemporary File
10.MDMarkdown Document

Relaterede filtyper

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å