aspose.info
LT

PDB failo formatas – programos duomenų bazės failas

Atnaujinta

Kas yra PDB failas?

Failas su plėtiniu .pdb yra programos duomenų bazės failas, kuriame yra sukompiliuoto vykdomojo failo (EXE/DLL) derinimo informacija. PDB failus generuoja Microsoft kompiliatoriai, kai taikomoji programa kompiliuojama derinimo režimu. PDB failo buvimas gali padėti apgręžti vykdomąjį failą, nes jame yra svarbios informacijos apie visus modulių simbolius. Būtent dėl šios priežasties šie failai laikomi atskirai nuo galutinio vykdomojo failo. Microsoft DgbHelp API gali atidaryti PDB failą, kad gautų informaciją, pvz., viešuosius ir eksportuotus duomenis, visuotinius simbolius, vietinius simbolius, tipo duomenis, šaltinio failus ir eilučių numerius.

PDB failo formatas

PDB yra Microsoft patentuotas failo formatas ir dar niekur nebuvo oficialiai dokumentuotas. Tačiau pradinė dokumentacija yra prieinama here ir gali būti nurodyta.

PBP srautai

PDB failus sudaro keli srautai, kur kiekvienas srautas veikia kaip virtualus atskiras failas ir jame yra informacijos. PDB failų kūrėjai gali rašyti į šiuos failus ir failas baigiamas tik tada, kai išduodamas aiškus įsipareigojimas. Kompiliatorius gali ir toliau rašyti į PDB failą, bet įsipareigoti tik tada, kai sėkmingai kompiliuojamas visas vartotojo kodas. PBP failą sudaro šie srautai:

Srauto Nr.TurinysTrumpas aprašymas
1Pdb (antraštė)Versijos informacija ir informacija, skirta prijungti šį PBP prie EXE
2Tpi (tipo tvarkyklė)Visi vykdomajame faile naudojami tipai.
3Dbi (Debug information)Turi skilties indėlius ir ‘Modifikacijų’ sąrašą
4NameMapLaiko maišos stygų lentelę
4-(n+4)n Mod’s (Modulio informacija)Kiekviename Mod sraute yra simboliai ir eilučių numeriai vienam kompilandui
n+4Pasaulinio simbolio maišaRodyklė, leidžianti ieškoti visuotiniuose simboliuose pagal pavadinimą
n+5Viešojo simbolio maišaRodyklė, leidžianti ieškoti viešuose simboliuose pagal adresus
n+6Simbolių įrašaiTikrieji pasaulinių ir viešųjų simbolių simbolių įrašai
n+7Įveskite maišąTPI sraute naudojama maiša.

Kiekvienas PBP failo srautas susideda iš kelių puslapių, kurie nebūtinai yra sunumeruoti iš eilės.

PBP antraštė

PDB failas turi antraštę, kurią sudaro parašas, skirtas konkretaus formato identifikavimui ir patvirtinimui. Parašo ilgis priklauso nuo PBP formato. Antraštė gali būti ilgesnė nei vienas puslapis.

PBP metaduomenys

The PDB metadata is responsible to recognize all of the component streams, giving the length, and sequence of pages for each stream. Orders are given to streams consecutively; starting with 0. Taip pat yra nesutvarkytas šakninis srautas, kuriame yra kai kurie metaduomenys.

Nuorodos

Taip pat žiūrėkite