.PDB

Arquivo PDB

Program Database (Visual C++ Debug Symbols)
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo PDB é um Program Database - um arquivo de símbolos de depuração que o compilador do Visual Studio cria junto a um EXE ou DLL compilado. Você não o abre diretamente; o Visual Studio ou o WinDbg o carregam automaticamente durante a depuração. A principal preocupação não é malware, mas confidencialidade: um PDB revela nomes de funções internas e caminhos de código-fonte, portanto, mantenha-o fora de pacotes de lançamento público.

Desenvolvedor: Microsoft Categoria: Arquivos de Desenvolvedor Padrão aberto MIME: application/octet-stream
ABRE EM Windows Linux
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Aug 16, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro PDB?

Arquivos .pdb contêm um banco de dados para um programa - especificamente, um armazenamento estruturado de símbolos de depuração, mapeamentos de arquivos-fonte e informações de tipo produzidas pelo conjunto de ferramentas do Microsoft Visual C++. Eles são usados em conjunto com o .exe ou .dll correspondente de onde foram compilados; eles não são incorporados dentro desses binários, mas distribuídos como arquivos separados.

Informações de depuração

Símbolos de depuração armazenados em arquivos .pdb permitem que os depuradores transmitam informações importantes sobre exceções, mapeiem endereços de memória de volta para números de linha de arquivos-fonte e exponham nomes de funções e variáveis que são removidos do binário final. Eles são úteis durante a solução de problemas do programa e tratamento de erros em ambientes de desenvolvimento e produção.

Como os arquivos .pdb são criados

Arquivos .pdb são gerados a partir de arquivos-fonte durante o processo de compilação pelo compilador MSVC (cl.exe) e pelo vinculador (link.exe). Eles *não* são um produto da compilação Just-In-Time (JIT) - esse é um equívoco comum. Arquivos .pdb modernos usam o contêiner binário MSF 7.00 (Multi-Stream File) introduzido com o Visual Studio .NET. Cada .pdb é vinculado ao seu binário por meio de um GUID e um contador de Age; um .pdb de uma compilação diferente não será carregado. Como o formato é proprietário, apenas ferramentas dedicadas como Visual Studio, WinDbg ou llvm-pdbutil podem lê-los, embora a Microsoft tenha publicado uma implementação de referência.

Segurança e proteção

RISCO: LOW

Um PDB consiste em dados passivos lidos por depuradores - não contém código executável, portanto, abrir um é seguro. A real preocupação é a confidencialidade, não malware: um PDB revela nomes de funções internas, caminhos de arquivos-fonte e estrutura de código, portanto, enviar ou vazar um expõe informações sobre as entranhas do seu software (úteis para engenheiros reversos). Mantenha os PDBs de lançamento em um servidor de símbolos privado em vez de agrupá-los com o produto.

Detalhes do formato

em resumo
NOME COMPLETOProgram Database (Visual C++ Debug Symbols)também conhecido como PDB symbol file, Microsoft Program Database
DESENVOLVEDORMicrosoftdesde 1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
TIPO MIMEapplication/octet-stream
TIPOContêiner binário de símbolos de depuração (Multi-Stream File / MSF) produzido pelo conjunto de ferramentas MSVC
PADRÃOAberto · livre de royalties
RELACIONADO.do.md.hex.xsd
Esta extensão também é usada por…
  • Palm OS Database (PalmPilot / livro eReader) - Banco de dados PRC/PDB Palm - e-books e dados de aplicativos de PDA (cabeçalho '...' no deslocamento 0x3C); aberto por ferramentas Palm/eReader, não pelo Visual Studio.
  • Estrutura molecular Protein Data Bank - Um arquivo PDB de texto simples que descreve as coordenadas atômicas 3D de uma molécula; aberto por PyMOL/Chimera/Jmol.
  • Dados de preço/portfólio do Quicken (.pdb) - O Intuit Quicken gravava um arquivo de dados .pdb - o significado ao qual o banco de dados erroneamente anexou seu abridor 'Quicken'.
MAGIC BYTES · ASSINATURA DO ARQUIVO
OFFSET
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c
HEX
4D6963726F736F667420432F432B2B204D534620372E30300D0A1A4453
ASCII
Microsoft C/C++ MSF 7.00···DS
PDBs MSVC modernos começam com o magic SuperBlock MSF 7.00 de 0x20 bytes «Microsoft C/C++ MSF 7.00\r\n\x1aDS\0\0\0». Arquivos PDB 2.0 mais antigos começam com «Microsoft C/C++ program database 2.00\r\n\x1aJG». (Não relacionado: um PDB de Palm e um PDB de Protein Data Bank são arquivos diferentes que compartilham esta extensão - veja also_used_by.)

Programas que abrem arquivos PDB

Windows4 apps
Visual Studio Freemium PDBs carregam automaticamente ao depurar uma compilação correspondente; para um dump, Arquivo > Abrir > Crash Dump e aponte Ferramentas > Opções > Depuração > Símbolos para a pasta do PDB. A edição Community é gratuita.
WinDbg (Debugging Tools for Windows) Gratuito Defina o caminho do símbolo (.sympath) para a pasta do PDB/servidor de símbolos e carregue o dump ou o alvo em execução - o WinDbg resolve os símbolos a partir do PDB.
llvm-pdbutil Código aberto Linha de comando: «llvm-pdbutil dump» inspeciona fluxos, tipos e símbolos dentro de um PDB - útil para verificar ou explorar um sem um depurador.
dumpbin / DIA SDK tools Integrado Vem com o Visual Studio; inspeciona o diretório de depuração de um binário e (via DIA) lê o conteúdo do PDB programaticamente.
Linux1 app
llvm-pdbutil Código aberto Linha de comando: «llvm-pdbutil dump» inspeciona fluxos, tipos e símbolos dentro de um PDB - útil para verificar ou explorar um sem um depurador.

Detalhes técnicos

especificação profunda
Formato do contêinerMSF (Multi-Stream File) - um contêiner de fluxo interno baseado em páginas que contém vários fluxos de dados nomeados em um único arquivo
Assinatura do arquivo (magic bytes)Começa com a string ASCII `Microsoft C/C++ MSF 7.00` seguida por CR LF e bytes de controle específicos no deslocamento 0; arquivos PDB 2.0 legados começam com `Microsoft C/C++ program database 2.00`
CodificaçãoBinário, ordem de bytes little-endian em todo o arquivo
Fluxos internosDBI (Informações de Depuração), TPI/IPI (registros de tipo e ID), fluxos de símbolos públicos e globais, fluxos de símbolos por módulo e tabelas de mapeamento de fonte/número de linha
Chave de link binárioContador GUID + Age gravado tanto no `.pdb` quanto no diretório de depuração de seu `.exe` ou `.dll` emparelhado; uma incompatibilidade faz com que o depurador rejeite o arquivo de símbolos
Tamanho de arquivo típico100 KB a 500 MB; grandes projetos nativos em C++ rotineiramente produzem arquivos `.pdb` na casa das centenas de megabytes
CompressãoNenhuma - os dados são estruturados em páginas, mas não compactados
Tamanho da páginaPáginas de 4 KB no MSF 7.00 (BigMsf); o contêiner MSF 2.0 mais antigo usava tamanhos de página menores
Variantes de formatoPDB 2.00 (magic JG legado, MSVC 6.0 e anteriores); MSF 7.00 / BigMsf (Visual Studio .NET em diante, atual para C/C++); Portable PDB (formato multiplataforma separado usado por .NET/Roslyn)
Conjunto de ferramentas produtorCompilador MSVC (`cl.exe`) e vinculador (`link.exe`); também emitido pelo Clang/LLVM ao visar Windows com as flags de compilador `/Z7` ou `/Zi`
Ferramentas de consumoVisual Studio Debugger, WinDbg, DIA SDK, `llvm-pdbutil`, `dumpbin`; ferramentas de análise de falhas como conversores de símbolos CrashPad e Breakpad
Suporte a servidor de símbolosArquivos `.pdb` são indexados por GUID + Age em um servidor de símbolos (via `symstore.exe` ou servidores compatíveis); depuradores buscam a cópia correta sob demanda usando a chave do diretório de depuração do binário
Suporte de plataformaNativo no Windows; leitura multiplataforma via ferramentas LLVM (`llvm-pdbutil`, LLDB) no Linux e macOS
Tipo MIMEapplication/octet-stream (sem sub-tipo MIME registrado dedicado)
Padrão de implantaçãoUm `.pdb` por alvo de compilação (`.exe` ou `.dll`); distribuído como um arquivo separado ao lado do binário ou armazenado em um servidor de símbolos privado/público - não incorporado no próprio binário
Lançado1990s (Microsoft Visual C++); MSF 7.00 container since Visual Studio .NET era
Versão mais recenteMSF 7.00 ('BigMsf'); portable PDB used by .NET/Roslyn alongside it
Padrão abertoSim · livre de royalties
Especificaçãogithub.com

Conversões de PDB

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos PDB. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos PDB.

Perguntas frequentes

O que é um arquivo PDB no Visual Studio?
É um Program Database - um arquivo de símbolos de depuração que o compilador cria ao lado do seu EXE/DLL. Ele mapeia o código de máquina de volta para arquivos-fonte, números de linha e nomes para que o depurador possa mostrar rastreamentos de pilha (stack traces) legíveis e permitir que você percorra o código.
Como faço para abrir um arquivo .pdb?
Normalmente, você não o abre diretamente - o Visual Studio ou o WinDbg o carregam automaticamente quando ele corresponde ao binário que você está depurando. Para inspecionar um, use o llvm-pdbutil ou ferramentas baseadas em DIA para extrair seus símbolos como texto.
Por que meu depurador diz que o PDB não corresponde ao binário?
Cada PDB carrega um carimbo GUID+Age vinculado a uma compilação específica. Se o EXE/DLL foi recompilado, o PDB antigo não corresponde mais e o depurador o recusa. Recompile para obter um PDB correspondente ou busque o PDB exato para aquela versão.
Posso converter um .pdb para PDF?
Não para um PDB do Visual C++ - são dados binários de depuração, não um documento. (Se o seu .pdb for na verdade um e-book de Palm/eReader, que compartilha a extensão, o Calibre pode converter esse para PDF - mas é um tipo de arquivo diferente.)
Preciso enviar arquivos PDB com meu programa?
Não - seu aplicativo funciona sem eles. PDBs são apenas para depuração. Muitas equipes os mantêm em um servidor de símbolos privado para que possam analisar logs de erro (crash dumps) posteriormente sem expor a estrutura do código-fonte aos usuários.
Um PDB pode recuperar meu código-fonte?
Não. Ele mapeia para arquivos-fonte e números de linha e armazena nomes/tipos, mas não contém o código em si. Ele torna a depuração legível; não reconstrói seu código.

Referências

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

Continue explorando

em todo o banco de dados

Principais extensões desta 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

Extensões relacionadas

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

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z