O que é o formato de ficheiro DUMP?
A extensão .dump é usada por arquivos de símbolos criados pelo Google Breakpad, uma biblioteca de código aberto para relatórios de erros usada por vários softwares, incluindo o Mozilla Firefox. Em vez de registrar os detalhes do erro em si, os arquivos .dump são tabelas de símbolos de depuração em texto simples geradas pela ferramenta dump_syms a partir dos dados de depuração nativos de um binário (arquivos PDB do Windows, ELF DWARF ou macOS DWARF/STABS). Eles mapeiam endereços brutos de código de máquina para nomes de funções, caminhos de arquivos de origem e números de linha.
Os arquivos .dump são produzidos antecipadamente e armazenados em um servidor de símbolos ou diretório local, não sendo gerados quando um programa trava. Quando ocorre uma falha, a ferramenta complementar minidump_stackwalk lê o arquivo de símbolos .dump junto com um relatório de erro minidump para produzir um rastreamento de pilha legível por humanos. O rastreamento simbolizado resultante, junto com o relatório de erro, pode ser enviado aos desenvolvedores de software para que eles determinem e corrijam os erros que causaram o travamento do programa.
Um arquivo de símbolos Breakpad é um texto ASCII orientado a linhas. A primeira linha é sempre um registro MODULE - por exemplo MODULE Linux x86_64 <build-id> libfoo.so - identificando o SO, a arquitetura da CPU, um ID de compilação exclusivo e o nome da biblioteca ou executável. Registros subsequentes (FILE, FUNC, PUBLIC, STACK) carregam o restante do mapeamento de símbolos; revisões posteriores do formato adicionam registros INLINE e INLINE_ORIGIN, e os leitores são projetados para tolerar tipos de registros desconhecidos. Os arquivos variam de dezenas de kilobytes a centenas de megabytes, dependendo do tamanho da biblioteca que está sendo simbolizada.
Como os arquivos de símbolos .dump são ASCII simples, eles podem ser inspecionados em qualquer editor de texto, como Notepad++ ou VS Code, ou processados programaticamente pela Sentry CLI e pela biblioteca symbolic, que também suportam o mesmo formato de símbolo Breakpad.
Segurança e proteção
RISCO: LOWUm arquivo de símbolos Breakpad é texto simples sem conteúdo executável, portanto é seguro abrir. A única preocupação real é que os arquivos de símbolos expõem nomes de funções internas e caminhos de origem de um programa (divulgação leve de informações), por isso os fornecedores geralmente os mantêm em servidores de símbolos privados. Como «.dump» também é usado para despejos de memória e exportações de banco de dados, verifique o que um determinado arquivo realmente é antes de assumir que é inofensivo - um despejo de memória bruto pode conter dados confidenciais.
Detalhes do formato
em resumo- Arquivo de despejo de memória / erro - Um despejo de memória bruto de processo ou kernel (ex: core dump, Windows .dmp) - binário, aberto em um depurador; não relacionado a arquivos de símbolos de texto.
- Despejo de banco de dados / SQL - Uma exportação de texto de um banco de dados produzida por ferramentas como mysqldump/pg_dump; reproduzida de volta no banco de dados, não é uma tabela de símbolos.
- Wireshark / captura de pacotes ou despejo de dados genérico - Várias ferramentas gravam um «.dump» de dados brutos capturados ou exportados; o formato depende inteiramente da ferramenta produtora.
Programas que abrem arquivos DUMP
Detalhes técnicos
especificação profunda| Tipo de formato | Tabela de símbolos de depuração em texto simples; registros ASCII orientados a linhas mapeando endereços de código de máquina para nomes de funções e locais de origem |
| Tipo MIME | text/plain (também visto como application/octet-stream em contextos de transferência genéricos) |
| Cabeçalho do arquivo / magic | Sem bytes mágicos binários; a primeira linha é sempre um registro MODULE: MODULE <os> <arch> <build-id> <name> |
| Codificação de texto | ASCII; linhas delimitadas por plataforma host (LF no Unix, CRLF no Windows) |
| Contêiner | Texto simples - sem invólucro binário, sem seções ou blocos incorporados |
| Compressão | Nenhuma integrada; os arquivos podem ser armazenados externamente com compressão gzip em servidores de símbolos |
| Tamanho de arquivo típico | Dezenas de KB a centenas de MB - escala com o número de funções e linhas de código-fonte no binário simbolizado |
| Tipos de registro | MODULE (cabeçalho), FILE (lista de caminhos de origem), FUNC (intervalos de endereços de função), PUBLIC (símbolos exportados), registros de número de linha, STACK (desenrolamento de quadro), INLINE, INLINE_ORIGIN |
| ID de compilação / chave de correspondência | O registro MODULE incorpora um ID de compilação de depuração (hash) usado para emparelhar o arquivo de símbolos com o binário ou minidump exato |
| Ferramenta produtora | dump_syms (Breakpad/Crashpad) - extrai dados de símbolos de PDB do Windows, ELF DWARF ou informações de depuração macOS DWARF/STABS |
| Ferramentas de consumo | minidump_stackwalk (Breakpad), Sentry CLI, biblioteca symbolic (Rust/Python) - todos leem este formato para simbolizar rastreamentos de pilha de erros |
| Suporte de plataforma | Windows, macOS, Linux, Android - Breakpad e Crashpad geram e consomem arquivos de símbolos .dump em todas as quatro plataformas |
| Extensibilidade do formato | Design de registro por palavra-chave aditivo; os analisadores ignoram tipos de registro não reconhecidos, permitindo que registros INLINE e INLINE_ORIGIN sejam adicionados sem quebrar ferramentas mais antigas |
| Formatos de depuração de origem lidos | Windows PDB (.pdb), ELF DWARF (.so / .elf), macOS DWARF e STABS (.dSYM / .dylib) - dump_syms converte todos estes no formato de símbolo .dump unificado |
| Lançado | 2007 (Google Breakpad open-sourced; symbol-file format dates from that era) |
| Versão mais recente | Breakpad symbol format additively extended (INLINE/INLINE_ORIGIN records added in later revisions); no formal version number |
| Padrão aberto | Sim · livre de royalties |
| Especificação | github.com |
Conversões de DUMP
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos DUMP.