.PDB

PDB-fil

Program Database (Visual C++ Debug Symbols)
Ställ en fråga
SNABBT SVAR

En PDB-fil är en Program Database - en fil med felsökningssymboler som Visual Studio-kompilatorn skapar tillsammans med en kompilerad EXE eller DLL. Du öppnar den inte direkt; Visual Studio eller WinDbg läser in den automatiskt vid felsökning. Den främsta risken är inte skadlig kod utan konfidentialitet: en PDB avslöjar interna funktionsnamn och källkodssökvägar, så håll den borta från offentliga lanseringspaket.

Utvecklare: Microsoft Kategori: Utvecklarfiler Öppen standard MIME: application/octet-stream
ÖPPNAS PÅ Windows Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Aug 16, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet PDB?

.pdb-filer innehåller en databas för ett program - specifikt ett strukturerat lager av felsökningssymboler, källkodsmappningar och typinformation som skapats av Microsoft Visual C++-verktygskedjan. De används tillsammans med den matchande .exe eller .dll de kompilerades ifrån; de är inte inbäddade i dessa binärfiler utan distribueras som separata filer.

Felsökningsinformation

Felsökningssymboler lagrade i .pdb-filer låter felsökare förmedla viktig information om undantag, mappa minnesadresser tillbaka till radnummer i källkodsfiler och exponera funktions- och variabelnamn som har rensats bort från den slutgiltiga binärfilen. De är till stor hjälp vid felsökning och åtgärdande av fel i både utvecklings- och produktionsmiljöer.

Hur .pdb-filer skapas

.pdb-filer genereras från källkodsfiler under kompileringsprocessen av MSVC-kompilatorn (cl.exe) och länkaren (link.exe). De är *inte* en produkt av Just-In-Time (JIT)-kompilering - vilket är en vanlig missuppfattning. Moderna .pdb-filer använder binärcontainern MSF 7.00 (Multi-Stream File) som introducerades med Visual Studio .NET. Varje .pdb är kopplad till sin binärfil via en GUID och en Age-räknare; en .pdb från en annan version kommer inte att läsas in. Eftersom formatet är proprietärt kan endast dedikerade verktyg som Visual Studio, WinDbg eller llvm-pdbutil läsa dem, även om Microsoft har publicerat en referensimplementering.

Säkerhet & trygghet

RISK: LOW

En PDB är passiv data som läses av felsökare - den innehåller ingen exekverbar kod, så det är säkert att öppna en. Den verkliga risken är konfidentialitet, inte skadlig kod: en PDB avslöjar interna funktionsnamn, sökvägar till källkodsfiler och kodstruktur, så att skicka med eller läcka en sådan exponerar information om din programvaras inre (vilket är användbart för reverse-engineering). Spara PDB-filer för lanseringsversioner på en privat symbolserver istället för att skicka med dem i produkten.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNProgram Database (Visual C++ Debug Symbols)även känd som PDB symbol file, Microsoft Program Database
UTVECKLAREMicrosoftsedan 1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
MIME-TYPapplication/octet-stream
TYPBinär container för felsökningssymboler (Multi-Stream File / MSF) producerad av MSVC-verktygskedjan
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • Palm OS Database (PalmPilot / eReader-bok) - PRC/PDB Palm-databas - e-böcker och PDA-appdata (header '...' vid offset 0x3C); öppnas av Palm/eReader-verktyg, inte Visual Studio.
  • Protein Data Bank molekylär struktur - En PDB-fil i klartext som beskriver 3D-atomkoordinater för en molekyl; öppnas av PyMOL/Chimera/Jmol.
  • Quicken pris/portföljdata (.pdb) - Intuit Quicken skrev en .pdb-datafil - den betydelse som databasen felaktigt kopplade sitt «Quicken»-öppningsprogram till.
MAGIC BYTES · FILSIGNATUR
OFFSET
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c
HEX
4D6963726F736F667420432F432B2B204D534620372E30300D0A1A4453
ASCII
Microsoft C/C++ MSF 7.00···DS
Moderna MSVC PDB-filer börjar 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 börjar med «Microsoft C/C++ program database 2.00\r\n\x1aJG». (Orelaterat: en Palm PDB och en Protein Data Bank PDB är andra filer som delar denna filändelse - se also_used_by.)

Program som öppnar PDB-filer

Windows4 apps
Visual Studio Freemium PDB-filer läses in automatiskt vid felsökning av en matchande version; för en dump, välj Arkiv > Öppna > Kraschdump och peka Verktyg > Alternativ > Felsökning > Symboler mot PDB-mappen. Community-utgåvan är gratis.
WinDbg (Debugging Tools for Windows) Gratis Ställ in symbolsökvägen (.sympath) till PDB-mappen/symbolservern och läs sedan in dumpen eller målet - WinDbg löser symboler från PDB-filen.
llvm-pdbutil Öppen källkod Kommandorad: «llvm-pdbutil dump» inspekterar strömmar, typer och symboler inuti en PDB - användbart för att verifiera eller utforska en fil utan en felsökare.
dumpbin / DIA SDK tools Inbyggd Följer med Visual Studio; inspektera en binärfils felsökningskatalog och läs PDB-innehåll programmatiskt (via DIA).
Linux1 app
llvm-pdbutil Öppen källkod Kommandorad: «llvm-pdbutil dump» inspekterar strömmar, typer och symboler inuti en PDB - användbart för att verifiera eller utforska en fil utan en felsökare.

Tekniska detaljer

djup specifikation
ContainerformatMSF (Multi-Stream File) - en sidbaserad intern strömcontainer som håller flera namngivna dataströmmar inom en enda fil
Filsignatur (magic bytes)Börjar med ASCII-strängen `Microsoft C/C++ MSF 7.00` följt av CR LF och specifika kontrollbytes vid offset 0; äldre PDB 2.0-filer börjar med `Microsoft C/C++ program database 2.00`
KodningBinär, little-endian byteordning genomgående
Interna strömmarDBI (Debug Information), TPI/IPI (typ- och ID-poster), publika och globala symbolströmmar, symbolströmmar per modul samt tabeller för källkods- och radnummermappning
Binär länknyckelGUID + Age-räknare skriven i både `.pdb` och felsökningskatalogen i dess parade `.exe` eller `.dll`; en missmatchning gör att felsökaren avvisar symbolfilen
Typisk filstorlek100 KB till 500 MB; stora nativa C++-projekt producerar rutinmässigt `.pdb`-filer på flera hundra megabyte
KomprimeringIngen - data är sidstrukturerad men inte komprimerad
Sidstorlek4 KB-sidor i MSF 7.00 (BigMsf); den äldre MSF 2.0-containern använde mindre sidstorlekar
FormatvarianterPDB 2.00 (äldre JG-magic, MSVC 6.0 och tidigare); MSF 7.00 / BigMsf (Visual Studio .NET och framåt, nuvarande för C/C++); Portable PDB (separat plattformsoberoende format som används av .NET/Roslyn)
Verktygskedja för produktionMSVC-kompilatorn (`cl.exe`) och länkaren (`link.exe`); skapas även av Clang/LLVM vid målsättning för Windows med kompilatorflaggorna `/Z7` eller `/Zi`
KonsumentverktygVisual Studio Debugger, WinDbg, DIA SDK, `llvm-pdbutil`, `dumpbin`; kraschanalysverktyg som CrashPad och Breakpad-symbolkonverterare
Stöd för symbolserver`.pdb`-filer indexeras med GUID + Age på en symbolserver (via `symstore.exe` eller kompatibla servrar); felsökare hämtar rätt kopia vid behov med hjälp av nyckeln från binärfilens felsökningskatalog
PlattformsstödNativt på Windows; plattformsoberoende läsning via LLVM-verktyg (`llvm-pdbutil`, LLDB) på Linux och macOS
MIME-typapplication/octet-stream (ingen dedikerad registrerad MIME-undertyp)
DistributionsmönsterEn `.pdb` per byggmål (`.exe` eller `.dll`); distribueras som en separat fil bredvid binärfilen eller lagras på en privat/offentlig symbolserver - inte inbäddad i själva binärfilen
Släppt1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
Senaste versionMSF 7.00 ('BigMsf'); portable PDB used by .NET/Roslyn alongside it
Öppen standardJa · royaltyfri
Specifikationgithub.com

PDB-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med PDB-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om PDB-filer.

Vanliga frågor

Vad är en PDB-fil i Visual Studio?
Det är en Program Database - en fil med felsökningssymboler som kompilatorn skapar bredvid din EXE/DLL. Den mappar maskinkod tillbaka till källkodsfiler, radnummer och namn så att felsökaren kan visa läsbara stackspår och låta dig stega igenom koden.
Hur öppnar jag en .pdb-fil?
Du öppnar den normalt inte direkt - Visual Studio eller WinDbg läser in den automatiskt när den matchar binärfilen du felsöker. För att inspektera en kan du använda llvm-pdbutil eller DIA-baserade verktyg för att dumpa dess symboler som text.
Varför säger min felsökare att PDB-filen inte matchar binärfilen?
Varje PDB bär en GUID+Age-stämpel bunden till en specifik kompilering. Om EXE/DLL-filen kompilerades om matchar inte den gamla PDB-filen längre och felsökaren avvisar den. Kompilera om för att få en matchande PDB, eller hämta exakt rätt PDB för den versionen.
Kan jag konvertera en .pdb till PDF?
Inte för en Visual C++ PDB - det är binär felsökningsdata, inte ett dokument. (Om din .pdb faktiskt är en Palm/eReader-e-bok, som delar samma filändelse, kan Calibre konvertera den till PDF - men det är en helt annan filtyp.)
Behöver jag skicka med PDB-filer med mitt program?
Nej - din app körs utan dem. PDB-filer är endast till för felsökning. Många team sparar dem på en privat symbolserver så att de kan analysera kraschrapporter senare utan att exponera källkodsstrukturen för användare.
Kan en PDB återskapa min källkod?
Nej. Den mappar till källkodsfiler och radnummer samt lagrar namn/typer, men den innehåller inte själva källkoden. Den gör felsökningen läsbar; den rekonstruerar inte din kod.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

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

Relaterade filtillägg

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

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö