.PDB

PDB-fil

Program Database (Visual C++ Debug Symbols)
Still et spørsmål
HURTIGSVAR

En PDB-fil er en Program Database - en fil med feilsøkingssymboler som Visual Studio-kompilatoren oppretter ved siden av en kompilert EXE eller DLL. Du åpner den ikke direkte; Visual Studio eller WinDbg laster den automatisk under feilsøking. Den største bekymringen er ikke skadevare, men konfidensialitet: en PDB avslører interne funksjonsnavn og kildekoderstier, så hold den unna offentlige utgivelsespakker.

Utvikler: Microsoft Kategori: Utviklerfiler Åpen standard MIME: application/octet-stream
ÅPNES PÅ Windows Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Aug 16, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er PDB-filformatet?

.pdb-filer inneholder en database for et program - spesifikt et strukturert lager av feilsøkingssymboler, kildekodemappinger og typeinformasjon produsert av Microsoft Visual C++-verktøykjeden. De brukes sammen med den samsvarende .exe eller .dll de ble kompilert fra; de er ikke innebygd i disse binærfilene, men distribuert som separate filer.

Feilsøkingsinformasjon

Feilsøkingssymboler lagret i .pdb-filer lar feilsøkingsverktøy (debuggere) formidle viktig informasjon om unntak, mappe minneadresser tilbake til linjenummer i kildekoden, og eksponere funksjons- og variabelnavn som er fjernet fra den endelige binærfilen. De er nyttige under feilsøking og feilretting i både utviklings- og produksjonsmiljøer.

Hvordan .pdb-filer opprettes

.pdb-filer genereres fra kildekofiler under kompileringsprosessen av MSVC-kompilatoren (cl.exe) og linkeren (link.exe). De er *ikke* et produkt av Just-In-Time (JIT)-kompilering - det er en vanlig misforståelse. Moderne .pdb-filer bruker den binære MSF 7.00 (Multi-Stream File)-beholderen introdusert med Visual Studio .NET. Hver .pdb er knyttet til sin binærfil via en GUID og en «Age»-teller; en .pdb fra et annet bygg vil ikke lastes. Fordi formatet er proprietært, kan bare dedikerte verktøy som Visual Studio, WinDbg eller llvm-pdbutil lese dem, selv om Microsoft har publisert en referanseimplementering.

Sikkerhet og trygghet

RISIKO: LOW

En PDB er passive data som leses av debuggere - den inneholder ingen kjørbar kode, så det er trygt å åpne en. Den virkelige bekymringen er konfidensialitet, ikke skadevare: en PDB avslører interne funksjonsnavn, kildekodestier og kodestruktur, så det å sende med eller lekke en eksponerer informasjon om programvarens indre (nyttig for de som driver med reverse-engineering). Hold utgivelses-PDB-er på en privat symbolserver i stedet for å bunte dem med produktet.

Formatdetaljer

i et nøtteskall
FULLT NAVNProgram Database (Visual C++ Debug Symbols)også kjent som PDB symbol file, Microsoft Program Database
UTVIKLERMicrosoftsiden 1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
MIME-TYPEapplication/octet-stream
TYPEBinær beholder for feilsøkingssymboler (Multi-Stream File / MSF) produsert av MSVC-verktøykjeden
STANDARDÅpen · royalty-fri
Denne filendelsen brukes også av…
  • Palm OS Database (PalmPilot / eReader-bok) - PRC/PDB Palm-database - e-bøker og PDA-appdata (header '...' ved offset 0x3C); åpnes av Palm/eReader-verktøy, ikke Visual Studio.
  • Protein Data Bank molekylær struktur - En PDB-fil i ren tekst som beskriver 3D-atomkoordinater for et molekyl; åpnes av PyMOL/Chimera/Jmol.
  • Quicken pris/porteføljedata (.pdb) - Intuit Quicken skrev en .pdb-datafil - betydningen databasen feilaktig knyttet sin «Quicken»-åpner til.
MAGIC BYTES · FILSIGNATUR
OFFSET
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c
HEX
4D6963726F736F667420432F432B2B204D534620372E30300D0A1A4453
ASCII
Microsoft C/C++ MSF 7.00···DS
Moderne MSVC PDB-er starter med 0x20-byte MSF 7.00 SuperBlock-magi «Microsoft C/C++ MSF 7.00\r\n\x1aDS\0\0\0». Eldre PDB 2.0-filer starter med «Microsoft C/C++ program database 2.00\r\n\x1aJG». (Urelatert: en Palm PDB og en Protein Data Bank PDB er forskjellige filer som deler denne filendelsen - se also_used_by.)

Programmer som åpner PDB-filer

Windows4 apps
Visual Studio Freemium PDB-filer lastes automatisk ved feilsøking av et samsvarende bygg; for en dump, velg File > Open > Crash Dump og pek Tools > Options > Debugging > Symbols mot PDB-mappen. Community-utgaven er gratis.
WinDbg (Debugging Tools for Windows) Gratis Sett symbolstien (.sympath) til PDB-mappen/symbolserveren, og last deretter dumpen eller det aktive målet - WinDbg løser symboler fra PDB-filen.
llvm-pdbutil Åpen kildekode Kommandolinje: «llvm-pdbutil dump» inspiserer strømmer, typer og symboler inne i en PDB - nyttig for å verifisere eller utforske en uten en debugger.
dumpbin / DIA SDK tools Innebygd Følger med Visual Studio; inspiser en binærfils feilsøkingsmappe og (via DIA) les PDB-innhold programmatisk.
Linux1 app
llvm-pdbutil Åpen kildekode Kommandolinje: «llvm-pdbutil dump» inspiserer strømmer, typer og symboler inne i en PDB - nyttig for å verifisere eller utforske en uten en debugger.

Tekniske detaljer

dyp spesifikasjon
BeholderformatMSF (Multi-Stream File) - en sidebasert intern strømbeholder som holder flere navngitte datastrømmer i én enkelt fil
Filsignatur (magic bytes)Starter med ASCII-strengen `Microsoft C/C++ MSF 7.00` etterfulgt av CR LF og spesifikke kontrollbyte ved offset 0; eldre PDB 2.0-filer starter med `Microsoft C/C++ program database 2.00`
KodingBinær, «little-endian» bytereferanse gjennomgående
Interne strømmerDBI (Debug Information), TPI/IPI (type- og ID-poster), offentlige og globale symbolstrømmer, symbolstrømmer per modul, og tabeller for kildekode/linjenummer-mapping
Binær koblingsnøkkelGUID + Age-teller skrevet inn i både `.pdb` og feilsøkingsmappen til den tilhørende `.exe` eller `.dll`; et misforhold fører til at debuggeren avviser symbolfilen
Typisk filstørrelse100 KB til 500 MB; store native C++-prosjekter produserer rutinemessig `.pdb`-filer på flere hundre megabyte
KomprimeringIngen - data er sidestrukturert, men ikke komprimert
Sidestørrelse4 KB sider i MSF 7.00 (BigMsf); den eldre MSF 2.0-beholderen brukte mindre sidestørrelser
FormatvarianterPDB 2.00 (eldre JG-magi, MSVC 6.0 og tidligere); MSF 7.00 / BigMsf (Visual Studio .NET og fremover, gjeldende for C/C++); Portable PDB (separat plattformuavhengig format brukt av .NET/Roslyn)
Produserende verktøykjedeMSVC-kompilator (`cl.exe`) og linker (`link.exe`); utstedes også av Clang/LLVM når man målretter Windows med `/Z7` eller `/Zi` kompilatorflagg
ForbrukerverktøyVisual Studio Debugger, WinDbg, DIA SDK, `llvm-pdbutil`, `dumpbin`; krasjanalyseverktøy som CrashPad og Breakpad symbolkonverterere
Støtte for symbolserver`.pdb`-filer indekseres etter GUID + Age på en symbolserver (via `symstore.exe` eller kompatible servere); debuggere henter riktig kopi ved behov ved hjelp av nøkkelen fra binærfilens feilsøkingsmappe
PlattformstøtteInnfødt på Windows; plattformuavhengig lesing via LLVM-verktøy (`llvm-pdbutil`, LLDB) på Linux og macOS
MIME-typeapplication/octet-stream (ingen dedikert registrert MIME-undertype)
DistribusjonsmønsterÉn `.pdb` per byggmål (`.exe` eller `.dll`); distribuert som en separat fil ved siden av binærfilen eller lagret på en privat/offentlig symbolserver - ikke innebygd i selve binærfilen
Utgitt1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
Siste versjonMSF 7.00 ('BigMsf'); portable PDB used by .NET/Roslyn alongside it
Åpen standardJa · royalty-fri
Spesifikasjongithub.com

PDB-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med PDB-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om PDB-filer.

Ofte stilte spørsmål

Hva er en PDB-fil i Visual Studio?
Det er en Program Database - en fil med feilsøkingssymboler som kompilatoren oppretter ved siden av din EXE/DLL. Den mapper maskinkode tilbake til kildekofiler, linjenummer og navn slik at debuggeren kan vise lesbare stabelsporinger (stack traces) og la deg gå gjennom koden trinnvis.
Hvordan åpner jeg en .pdb-fil?
Du åpner den vanligvis ikke direkte - Visual Studio eller WinDbg laster den automatisk når den samsvarer med binærfilen du feilsøker. For å inspisere en, bruk llvm-pdbutil eller DIA-baserte verktøy for å dumpe symbolene som tekst.
Hvorfor sier debuggeren min at PDB-filen ikke samsvarer med binærfilen?
Hver PDB bærer et GUID+Age-stempel knyttet til ett spesifikt bygg. Hvis EXE/DLL-filen ble kompilert på nytt, vil den gamle PDB-filen ikke lenger samsvare, og debuggeren avviser den. Kompiler på nytt for å få en samsvarende PDB, eller hent den nøyaktige PDB-filen for det bygget.
Kan jeg konvertere en .pdb til PDF?
Ikke for en Visual C++ PDB - det er binære feilsøkingsdata, ikke et dokument. (Hvis din .pdb faktisk er en Palm/eReader e-bok, som deler filendelsen, kan Calibre konvertere den til PDF - men det er en helt annen filtype.)
Må jeg sende med PDB-filer med programmet mitt?
Nei - appen din kjører uten dem. PDB-filer er kun for feilsøking. Mange team beholder dem på en privat symbolserver slik at de kan analysere krasjrapporter senere uten å eksponere kildekodestrukturen for brukere.
Kan en PDB gjenopprette kildekoden min?
Nei. Den mapper til kildekofiler og linjenummer og lagrer navn/typer, men den inneholder ikke selve kildekoden. Den gjør feilsøking lesbar; den rekonstruerer ikke koden din.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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

Relaterte filendelser

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

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å