.PDB

Archivo PDB

Program Database (Visual C++ Debug Symbols)
Hacer una pregunta
RESPUESTA RÁPIDA

Un archivo PDB es una Program Database - un archivo de símbolos de depuración que el compilador de Visual Studio crea junto a un EXE o DLL compilado. No se abre directamente; Visual Studio o WinDbg lo cargan automáticamente al depurar. La principal preocupación no es el malware, sino la confidencialidad: un PDB revela nombres de funciones internas y rutas de origen, por lo que debe mantenerse fuera de los paquetes de lanzamiento públicos.

Desarrollador: Microsoft Categoría: Archivos de desarrollo Estándar abierto MIME: application/octet-stream
SE ABRE EN Windows Linux
Relacionado: .DO · .MD · .HEX · .XSD

En esta página

19k+ extensiones indexadas
Última revisión Aug 16, 2026

¿No está seguro de qué es su archivo?

Suelte cualquier archivo en nuestro identificador - leemos solo los primeros bytes para nombrar el formato.

Identificar un archivo

¿Qué es el formato de archivo PDB?

Los archivos .pdb contienen una base de datos para un programa; específicamente, un almacén estructurado de símbolos de depuración, mapeos de archivos de origen e información de tipos producida por la cadena de herramientas de Microsoft Visual C++. Se utilizan junto con el .exe o .dll correspondiente con el que fueron compilados; no se incrustan dentro de esos binarios, sino que se distribuyen como archivos separados.

Información de depuración

Los símbolos de depuración almacenados en archivos .pdb permiten que los depuradores transmitan información importante sobre excepciones, mapeen direcciones de memoria de vuelta a números de línea de archivos de origen y expongan nombres de funciones y variables que se eliminan del binario final. Son útiles durante la resolución de problemas y el direccionamiento de errores tanto en entornos de desarrollo como de producción.

Cómo se crean los archivos .pdb

Los archivos .pdb se generan a partir de archivos de origen durante el proceso de compilación mediante el compilador de MSVC (cl.exe) y el enlazador (link.exe). *No* son producto de la compilación Just-In-Time (JIT); eso es un error común. Los archivos .pdb modernos utilizan el contenedor binario MSF 7.00 (Multi-Stream File) introducido con Visual Studio .NET. Cada .pdb está vinculado a su binario a través de un GUID y un contador de «Age» (edad); un .pdb de una compilación diferente no se cargará. Debido a que el formato es propietario, solo herramientas dedicadas como Visual Studio, WinDbg o llvm-pdbutil pueden leerlos, aunque Microsoft ha publicado una implementación de referencia.

Seguridad y protección

RIESGO: LOW

Un PDB son datos pasivos leídos por depuradores - no contiene código ejecutable, por lo que abrir uno es seguro. La verdadera preocupación es la confidencialidad, no el malware: un PDB revela nombres de funciones internas, rutas de archivos de origen y estructura de código, por lo que enviar o filtrar uno expone información sobre las entrañas de su software (útil para ingenieros inversos). Mantenga los PDB de lanzamiento en un servidor de símbolos privado en lugar de incluirlos con el producto.

Detalles del formato

en pocas palabras
NOMBRE COMPLETOProgram Database (Visual C++ Debug Symbols)también conocido como PDB symbol file, Microsoft Program Database
DESARROLLADORMicrosoftdesde 1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
TIPO MIMEapplication/octet-stream
TIPOContenedor de símbolos de depuración binario (Multi-Stream File / MSF) producido por la cadena de herramientas MSVC
ESTÁNDARAbierto · libre de regalías
RELACIONADO.do.md.hex.xsd
Esta extensión también es utilizada por…
  • Base de datos Palm OS (PalmPilot / libro eReader) - Base de datos Palm PRC/PDB - libros electrónicos y datos de aplicaciones PDA (encabezado '...' en el desplazamiento 0x3C); abierto por herramientas de Palm/eReader, no por Visual Studio.
  • Estructura molecular de Protein Data Bank - Un archivo PDB de texto plano que describe las coordenadas atómicas 3D de una molécula; abierto por PyMOL/Chimera/Jmol.
  • Datos de precios/cartera de Quicken (.pdb) - Intuit Quicken escribía un archivo de datos .pdb - el significado al que la base de datos adjuntó erróneamente su abridor 'Quicken'.
MAGIC BYTES · FIRMA DE ARCHIVO
OFFSET
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c
HEX
4D6963726F736F667420432F432B2B204D534620372E30300D0A1A4453
ASCII
Microsoft C/C++ MSF 7.00···DS
Los PDB modernos de MSVC comienzan con la magia SuperBlock de MSF 7.00 de 0x20 bytes «Microsoft C/C++ MSF 7.00\r\n\x1aDS\0\0\0». Los archivos PDB 2.0 más antiguos comienzan con «Microsoft C/C++ program database 2.00\r\n\x1aJG». (No relacionado: un PDB de Palm y un PDB de Protein Data Bank son archivos diferentes que comparten esta extensión - ver also_used_by).

Programas que abren archivos PDB

Windows4 apps
Visual Studio Freemium Los PDB se cargan automáticamente al depurar una compilación coincidente; para un volcado, use Archivo > Abrir > Volcado de memoria y apunte Herramientas > Opciones > Depuración > Símbolos a la carpeta del PDB. La edición Community es gratuita.
WinDbg (Debugging Tools for Windows) Gratis Establezca la ruta de símbolos (.sympath) a la carpeta del PDB o servidor de símbolos, luego cargue el volcado o el objetivo en vivo; WinDbg resuelve los símbolos desde el PDB.
llvm-pdbutil Código abierto Línea de comandos: «llvm-pdbutil dump» inspecciona flujos, tipos y símbolos dentro de un PDB; útil para verificar o explorar uno sin un depurador.
dumpbin / DIA SDK tools Integrado Se incluye con Visual Studio; inspecciona el directorio de depuración de un binario y (vía DIA) lee el contenido del PDB programáticamente.
Linux1 app
llvm-pdbutil Código abierto Línea de comandos: «llvm-pdbutil dump» inspecciona flujos, tipos y símbolos dentro de un PDB; útil para verificar o explorar uno sin un depurador.

Detalles técnicos

especificación profunda
Formato de contenedorMSF (Multi-Stream File) - un contenedor de flujo interno basado en páginas que contiene múltiples flujos de datos con nombre dentro de un solo archivo
Firma de archivo (magic bytes)Comienza con la cadena ASCII `Microsoft C/C++ MSF 7.00` seguida de CR LF y bytes de control específicos en el desplazamiento 0; los archivos PDB 2.0 heredados comienzan con `Microsoft C/C++ program database 2.00`
CodificaciónBinario, orden de bytes little-endian en todo momento
Flujos internosDBI (Información de depuración), TPI/IPI (registros de tipo e ID), flujos de símbolos públicos y globales, flujos de símbolos por módulo y tablas de mapeo de origen/número de línea
Clave de enlace binarioContador GUID + Age escrito tanto en el `.pdb` como en el directorio de depuración de su `.exe` o `.dll` emparejado; una discrepancia hace que el depurador rechace el archivo de símbolos
Tamaño de archivo típico100 KB a 500 MB; los proyectos grandes de C++ nativo producen rutinariamente archivos `.pdb` de cientos de megabytes
CompresiónNinguna - los datos están estructurados por páginas pero no comprimidos
Tamaño de páginaPáginas de 4 KB en MSF 7.00 (BigMsf); el contenedor MSF 2.0 más antiguo utilizaba tamaños de página más pequeños
Variantes de formatoPDB 2.00 (magia JG heredada, MSVC 6.0 y anteriores); MSF 7.00 / BigMsf (Visual Studio .NET en adelante, actual para C/C++); Portable PDB (formato multiplataforma separado utilizado por .NET/Roslyn)
Cadena de herramientas del productorCompilador MSVC (`cl.exe`) y enlazador (`link.exe`); también emitido por Clang/LLVM cuando se dirige a Windows con los modificadores de compilador `/Z7` o `/Zi`
Herramientas de consumoDepurador de Visual Studio, WinDbg, DIA SDK, `llvm-pdbutil`, `dumpbin`; herramientas de análisis de fallos como los convertidores de símbolos CrashPad y Breakpad
Soporte de servidor de símbolosLos archivos `.pdb` son indexados por GUID + Age en un servidor de símbolos (vía `symstore.exe` o servidores compatibles); los depuradores obtienen la copia correcta bajo demanda utilizando la clave del directorio de depuración del binario
Soporte de plataformaNativo en Windows; lectura multiplataforma a través de herramientas LLVM (`llvm-pdbutil`, LLDB) en Linux y macOS
Tipo MIMEapplication/octet-stream (sin subtipo MIME registrado dedicado)
Patrón de despliegueUn `.pdb` por objetivo de compilación (`.exe` o `.dll`); distribuido como un archivo separado junto al binario o almacenado en un servidor de símbolos privado/público - no se incrusta en el binario mismo
Lanzado1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
Última versiónMSF 7.00 ('BigMsf'); portable PDB used by .NET/Roslyn alongside it
Estándar abiertoSí · libre de regalías
Especificacióngithub.com

Conversiones de PDB

Preguntas y respuestas de la comunidad

preguntado por usuarios
Hacer una pregunta rápida
Obtenga ayuda de personas que trabajan con archivos PDB. Sea específico: incluya su sistema y la versión del software.
No se necesita cuenta · respuestas generalmente en un día

Aún no hay preguntas; sea el primero en preguntar sobre los archivos PDB.

Preguntas frecuentes

¿Qué es un archivo PDB en Visual Studio?
Es una Program Database - un archivo de símbolos de depuración que el compilador crea junto a su EXE/DLL. Mapea el código máquina de vuelta a los archivos de origen, números de línea y nombres para que el depurador pueda mostrar trazas de pila legibles y permitirle avanzar paso a paso por el código.
¿Cómo abro un archivo .pdb?
Normalmente no se abre directamente: Visual Studio o WinDbg lo cargan automáticamente cuando coincide con el binario que está depurando. Para inspeccionar uno, use llvm-pdbutil o herramientas basadas en DIA para volcar sus símbolos como texto.
¿Por qué mi depurador dice que el PDB no coincide con el binario?
Cada PDB lleva un sello GUID+Age vinculado a una compilación específica. Si el EXE/DLL se recompiló, el PDB antiguo ya no coincide y el depurador lo rechaza. Recompile para obtener un PDB coincidente o recupere el PDB exacto para esa compilación.
¿Puedo convertir un .pdb a PDF?
No para un PDB de Visual C++; son datos binarios de depuración, no un documento. (Si su .pdb es en realidad un libro electrónico de Palm/eReader, que comparte la extensión, Calibre puede convertir ese a PDF, pero es un tipo de archivo diferente).
¿Necesito enviar los archivos PDB con mi programa?
No, su aplicación funciona sin ellos. Los PDB son solo para depuración. Muchos equipos los mantienen en un servidor de símbolos privado para poder analizar volcados de memoria (crash dumps) más tarde sin exponer la estructura del código fuente a los usuarios.
¿Puede un PDB recuperar mi código fuente?
No. Mapea a archivos de origen y números de línea y almacena nombres/tipos, pero no contiene el código fuente en sí. Hace que la depuración sea legible; no reconstruye su código.

Referencias

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

Siga explorando

en toda la base de datos

Extensiones principales esta semana

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

Extensiones relacionadas

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

Herramientas de archivo gratuitas

Un identificador de archivos y convertidor de imágenes en el navegador - todo se ejecuta en su dispositivo.

Abrir la caja de herramientas

Explorar extensiones de archivo A-Z