Wat is het DUMP-bestandsformaat?
De extensie .dump wordt gebruikt door symboolbestanden die zijn gemaakt door Google Breakpad, een open-source bibliotheek voor crashrapportage die door diverse software wordt gebruikt, waaronder Mozilla Firefox. In plaats van zelf crashdetails vast te leggen, zijn .dump-bestanden platte teksttabellen met debug-symbolen die door de tool dump_syms worden gegenereerd op basis van de systeemeigen debug-gegevens van een binair bestand (Windows PDB-bestanden, ELF DWARF, of macOS DWARF/STABS). Ze koppelen onbewerkte machinecode-adressen aan functienamen, bronbestandspaden en regelnummers.
.dump-bestanden worden vooraf geproduceerd en opgeslagen op een symboolserver of in een lokale map, en worden niet gegenereerd op het moment dat een programma crasht. Wanneer er een crash optreedt, leest de bijbehorende tool minidump_stackwalk het .dump-symboolbestand samen met een minidump-crashrapport om een menselijk leesbare stack trace te produceren. De resulterende gesymboliseerde trace kan, samen met het crashrapport, naar softwareontwikkelaars worden gestuurd zodat zij de fouten die de crash veroorzaken kunnen vaststellen en verhelpen.
Een Breakpad-symboolbestand is regelgeoriënteerde ASCII-tekst. De eerste regel is altijd een MODULE-record - bijvoorbeeld MODULE Linux x86_64 <build-id> libfoo.so - die het besturingssysteem, de CPU-architectuur, een unieke build-ID en de naam van de bibliotheek of het uitvoerbare bestand identificeert. Volgende records (FILE, FUNC, PUBLIC, STACK) bevatten de rest van de symboolkoppelingen; latere formaatrevisies voegen INLINE- en INLINE_ORIGIN-records toe, en lezers zijn ontworpen om onbekende recordtypen te tolereren. Bestanden variëren van tientallen kilobytes tot honderden megabytes, afhankelijk van de grootte van de bibliotheek die wordt gesymboliseerd.
Omdat .dump-symboolbestanden platte ASCII zijn, kunnen ze worden bekeken in elke teksteditor zoals Notepad++ of VS Code, of programmatisch worden verwerkt door Sentry CLI en de symbolic-bibliotheek, die ook hetzelfde Breakpad-symboolformaat ondersteunen.
Beveiliging & veiligheid
RISICO: LOWEen Breakpad-symboolbestand is platte tekst zonder uitvoerbare inhoud, dus het is veilig om te openen. De enige echte zorg is dat symboolbestanden interne functienamen en bronpaden van een programma onthullen (milde informatieonthulling), daarom bewaren leveranciers ze meestal op privé-symboolservers. Omdat „.dump” ook wordt gebruikt voor geheugendumps en database-exports, moet u verifiëren wat een bepaald bestand daadwerkelijk is voordat u ervan uitgaat dat het onschadelijk is - een ruwe geheugendump kan gevoelige gegevens bevatten.
Formaatdetails
in een notendop- Geheugen- / crashdumpbestand - Een ruwe proces- of kernelgeheugendump (bijv. core dump, Windows .dmp) - binair, geopend in een debugger; niet gerelateerd aan tekstsymboolbestanden.
- Database- / SQL-dump - Een tekstexport van een database geproduceerd door tools zoals mysqldump/pg_dump; wordt teruggezet in de database, geen symbooltabel.
- Wireshark / pakketvastlegging of generieke gegevensdump - Verschillende tools schrijven een „.dump” van onbewerkte vastgelegde of geëxporteerde gegevens; het formaat hangt volledig af van de producerende tool.
Programma's die DUMP-bestanden openen
Technische details
diepe specificaties| Formaat-type | Debug-symbooltabel in platte tekst; regelgeoriënteerde ASCII-records die machinecode-adressen koppelen aan functienamen en bronlocaties |
| MIME-type | text/plain (ook gezien als application/octet-stream in generieke overdrachtscontexten) |
| Bestandskop / magic | Geen binaire magic bytes; de eerste regel is altijd een MODULE-record: MODULE <os> <arch> <build-id> <name> |
| Tekstcodering | ASCII; regels gescheiden per hostplatform (LF op Unix, CRLF op Windows) |
| Container | Platte tekst - geen binaire wrapper, geen ingebedde secties of segmenten |
| Compressie | Geen ingebouwd; bestanden kunnen extern gzip-gecomprimeerd worden opgeslagen op symboolservers |
| Typische bestandsgrootte | Tientallen KB tot honderden MB - schaalt met het aantal functies en bronregels in het gesymboliseerde binaire bestand |
| Recordtypen | MODULE (header), FILE (bronpadlijst), FUNC (functie-adresbereiken), PUBLIC (geëxporteerde symbolen), regelnummer-records, STACK (frame-unwinding), INLINE, INLINE_ORIGIN |
| Build-ID / match-sleutel | Het MODULE-record bevat een debug build-ID (hash) die wordt gebruikt om het symboolbestand te koppelen aan het exacte binaire bestand of de minidump |
| Producerende tool | dump_syms (Breakpad/Crashpad) - extraheert symboolgegevens uit Windows PDB, ELF DWARF of macOS DWARF/STABS debug-informatie |
| Consumerende tools | minidump_stackwalk (Breakpad), Sentry CLI, symbolic-bibliotheek (Rust/Python) - lezen allemaal dit formaat om crash stack traces te symboliseren |
| Platformondersteuning | Windows, macOS, Linux, Android - Breakpad en Crashpad genereren en consumeren .dump-symboolbestanden op alle vier de platforms |
| Uitbreidbaarheid van formaat | Additief ontwerp met trefwoord-records; parsers slaan niet-herkende recordtypen over, waardoor INLINE- en INLINE_ORIGIN-records kunnen worden toegevoegd zonder oudere tools te breken |
| Gelezen bron-debugformaten | Windows PDB (.pdb), ELF DWARF (.so / .elf), macOS DWARF en STABS (.dSYM / .dylib) - dump_syms converteert al deze naar het uniforme .dump-symboolformaat |
| Uitgebracht | 2007 (Google Breakpad open-sourced; symbol-file format dates from that era) |
| Laatste versie | Breakpad symbol format additively extended (INLINE/INLINE_ORIGIN records added in later revisions); no formal version number |
| Open standaard | Ja · royaltyvrij |
| Specificatie | github.com |
DUMP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DUMP-bestanden.