Hva er DUMP-filformatet?
Utvidelsen .dump brukes av symbolfiler opprettet av Google Breakpad, et åpen kildekode-bibliotek for krasjrapportering som brukes av ulike programvarer, inkludert Mozilla Firefox. I stedet for å registrere selve krasjdetaljene, er .dump-filer tabeller med feilsøkingssymboler i ren tekst, generert av verktøyet dump_syms fra en binærfils opprinnelige feilsøkingsdata (Windows PDB-filer, ELF DWARF, eller macOS DWARF/STABS). De kobler rå maskinkodeadresser til funksjonsnavn, stier til kildekofiler og linjenummer.
.dump-filer produseres på forhånd og lagres på en symbolserver eller i en lokal mappe, og genereres ikke når et program krasjer. Når et krasj oppstår, leser følgeverktøyet minidump_stackwalk .dump-symbolfilen sammen med en minidump-krasjrapport for å produsere en menneskelig lesbar stabelsporing. Den resulterende symboliserte sporingen, sammen med krasjrapporten, kan sendes til programvareutviklere slik at de kan identifisere og utbedre feilene som fikk programmet til å krasje.
En Breakpad-symbolfil er linjeorientert ASCII-tekst. Den første linjen er alltid en MODULE-oppføring - for eksempel MODULE Linux x86_64 <build-id> libfoo.so - som identifiserer operativsystem, CPU-arkitektur, en unik bygg-ID og navnet på biblioteket eller den kjørbare filen. Etterfølgende oppføringer (FILE, FUNC, PUBLIC, STACK) inneholder resten av symbolkoblingene; senere formatrevisjoner legger til INLINE- og INLINE_ORIGIN-oppføringer, og lesere er designet for å tolerere ukjente oppføringstyper. Filstørrelsen varierer fra noen få kilobyte til hundrevis av megabyte, avhengig av størrelsen på biblioteket som symboliseres.
Siden .dump-symbolfiler er ren ASCII, kan de inspiseres i hvilken som helst tekstredigerer som Notepad++ eller VS Code, eller behandles programmatisk av Sentry CLI og symbolic-biblioteket, som også støtter det samme Breakpad-symbolformatet.
Sikkerhet og trygghet
RISIKO: LOWEn Breakpad-symbolfil er ren tekst uten kjørbart innhold, så den er trygg å åpne. Den eneste reelle bekymringen er at symbolfiler eksponerer interne funksjonsnavn og kildestier for et program (mild informasjonsavsløring), så leverandører oppbevarer dem vanligvis på private symbolservere. Fordi «.dump» også brukes for minnedumper og databaseeksporter, bør du verifisere hva en gitt fil faktisk er før du antar at den er ufarlig - en rå minnedump kan inneholde sensitive data.
Formatdetaljer
i et nøtteskall- Minne- / krasjdumpfil - En rå minnedump fra prosess eller kjerne (f.eks. core dump, Windows .dmp) - binær, åpnes i en feilsøker; urelatert til tekstsymbolfiler.
- Database- / SQL-dump - En teksteksport av en database produsert av verktøy som mysqldump/pg_dump; spilles tilbake i databasen, ikke en symboltabell.
- Wireshark / pakkefangst eller generisk datadump - Ulike verktøy skriver en «.dump» av rå fanget eller eksportert data; formatet avhenger helt av verktøyet som produserte det.
Programmer som åpner DUMP-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | Tabell for feilsøkingssymboler i ren tekst; linjeorienterte ASCII-oppføringer som kobler maskinkodeadresser til funksjonsnavn og kildeplasseringer |
| MIME-type | text/plain (også sett som application/octet-stream i generiske overføringskontekster) |
| Filhode / magi | Ingen binære magiske byte; første linje er alltid en MODULE-oppføring: MODULE <os> <arch> <build-id> <name> |
| Tekstkoding | ASCII; linjeskift i henhold til vertsplattform (LF på Unix, CRLF på Windows) |
| Beholder | Ren tekst - ingen binær innpakning, ingen innebygde seksjoner eller blokker |
| Komprimering | Ingen innebygd; filer kan lagres eksternt med gzip-komprimering på symbolservere |
| Typisk filstørrelse | Fra ti-talls KB til hundrevis av MB - skaleres med antall funksjoner og kildelinjer i den symboliserte binærfilen |
| Oppføringstyper | MODULE (hode), FILE (liste over kildestier), FUNC (funksjonsadresseområder), PUBLIC (eksporterte symboler), linjenummer-oppføringer, STACK (stabel-utrulling), INLINE, INLINE_ORIGIN |
| Bygg-ID / samsvarsnøkkel | MODULE-oppføringen inneholder en feilsøkings-bygg-ID (hash) som brukes til å koble symbolfilen med den nøyaktige binærfilen eller minidumpen |
| Produsentverktøy | dump_syms (Breakpad/Crashpad) - trekker ut symboldata fra Windows PDB, ELF DWARF eller macOS DWARF/STABS feilsøkingsinfo |
| Forbrukerverktøy | minidump_stackwalk (Breakpad), Sentry CLI, symbolic-bibliotek (Rust/Python) - alle leser dette formatet for å symbolisere krasjstabelsporinger |
| Plattformstøtte | Windows, macOS, Linux, Android - Breakpad og Crashpad genererer og bruker .dump-symbolfiler på alle fire plattformer |
| Formatutvidbarhet | Additiv nøkkelord-basert design; parsere hopper over ukjente oppføringstyper, noe som tillater at INLINE- og INLINE_ORIGIN-oppføringer legges til uten å ødelegge eldre verktøy |
| Leste kildeformater for feilsøking | Windows PDB (.pdb), ELF DWARF (.so / .elf), macOS DWARF og STABS (.dSYM / .dylib) - dump_syms konverterer alle disse til det enhetlige .dump-symbolformatet |
| Utgitt | 2007 (Google Breakpad open-sourced; symbol-file format dates from that era) |
| Siste versjon | Breakpad symbol format additively extended (INLINE/INLINE_ORIGIN records added in later revisions); no formal version number |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | github.com |
DUMP-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om DUMP-filer.