aspose.info
EL

Μορφή αρχείου PDB - Αρχείο βάσης δεδομένων προγράμματος

Ενημερώθηκε

Τι είναι ένα αρχείο PDB;

Ένα αρχείο με επέκταση .pdb είναι ένα αρχείο βάσης δεδομένων προγράμματος που περιέχει πληροφορίες εντοπισμού σφαλμάτων για ένα μεταγλωττισμένο εκτελέσιμο αρχείο (EXE/DLL). Τα αρχεία PDB δημιουργούνται από τους Microsoft Compilers όταν ένα πρόγραμμα εφαρμογής μεταγλωττίζεται σε λειτουργία εντοπισμού σφαλμάτων. Η παρουσία αρχείου PDB μπορεί να βοηθήσει στην αντίστροφη μηχανική ενός εκτελέσιμου αρχείου καθώς περιέχει σημαντικές πληροφορίες για όλα τα σύμβολα των λειτουργικών μονάδων. Αυτός είναι ο λόγος που αυτά τα αρχεία διατηρούνται χωριστά από το τελικό εκτελέσιμο αρχείο. Το [DgbHelp API] της Microsoft (https://learn.microsoft.com/en-us/windows/win32/debug/dbghelp-functions) μπορεί να ανοίξει ένα αρχείο PDB για να λάβει πληροφορίες όπως δημόσια και εξαγωγές, καθολικά σύμβολα, τοπικά σύμβολα, πληκτρολογήστε δεδομένα, αρχεία προέλευσης και αριθμούς γραμμών.

Μορφή αρχείου PDB

Το PDB είναι η ιδιόκτητη μορφή αρχείου της Microsoft και δεν έχει τεκμηριωθεί επίσημα πουθενά ακόμα. Ωστόσο, μια αρχική τεκμηρίωση είναι διαθέσιμη εδώ και μπορεί να γίνει αναφορά.

Ροές PDB

Τα αρχεία PDB αποτελούνται από πολλαπλές ροές όπου κάθε ροή λειτουργεί ως εικονικό μεμονωμένο αρχείο και περιέχει πληροφορίες. Οι συντάκτες αρχείων PDB μπορούν να γράψουν σε αυτά τα αρχεία και το αρχείο οριστικοποιείται μόνο αφού εκδοθεί μια ρητή δέσμευση. Ένας μεταγλωττιστής μπορεί να συνεχίσει να γράφει σε ένα αρχείο PDB αλλά να δεσμεύει μόνο εάν όλος ο κώδικας χρήστη μεταγλωττιστεί με επιτυχία. Ένα αρχείο PDB αποτελείται από τις ακόλουθες ροές:

Αριθμός ροήςΠεριεχόμεναΣύντομη περιγραφή
1Pdb (κεφαλίδα)Πληροφορίες έκδοσης και πληροφορίες για τη σύνδεση αυτού του PDB στο EXE
2Tpi (Διαχείριση τύπων)Όλοι οι τύποι που χρησιμοποιούνται στο εκτελέσιμο.
3Dbi (Πληροφορίες εντοπισμού σφαλμάτων)Διατηρεί συνεισφορές ενότητας και λίστα “Mods”
4NameMapΚρατάει έναν κατακερματισμένο πίνακα συμβολοσειρών
4-(n+4)n Mod’s (Πληροφορίες ενότητας)Κάθε ροή Mod περιέχει σύμβολα και αριθμούς γραμμών για ένα compiland
n+4Παγκόσμιος κατακερματισμός συμβόλωνΈνα ευρετήριο που επιτρέπει την αναζήτηση σε καθολικά σύμβολα με βάση το όνομα
n+5Κατακερματισμός δημόσιου συμβόλουΈνα ευρετήριο που επιτρέπει την αναζήτηση σε δημόσια σύμβολα κατά διευθύνσεις
n+6Εγγραφές συμβόλωνΠραγματικές εγγραφές συμβόλων παγκόσμιων και δημόσιων συμβόλων
n+7Πληκτρολογήστε hashΚατακερματισμός που χρησιμοποιείται από τη ροή TPI.

Κάθε ροή σε ένα αρχείο PDB αποτελείται από πολλές σελίδες που δεν είναι απαραίτητα διαδοχικές αριθμημένες.

Κεφαλίδα PDB

Ένα αρχείο PDB έχει μια κεφαλίδα που αποτελείται από μια υπογραφή για τον προσδιορισμό και την επικύρωση της συγκεκριμένης μορφής. Το μήκος της υπογραφής εξαρτάται από τη μορφή ΠΣΠ. Η κεφαλίδα μπορεί να είναι μεγαλύτερη από μία σελίδα.

Μεταδεδομένα ΠΣΠ

Τα μεταδεδομένα PDB είναι υπεύθυνα για την αναγνώριση όλων των ροών στοιχείων, δίνοντας το μήκος και τη σειρά των σελίδων για κάθε ροή. Οι παραγγελίες δίνονται σε ροές διαδοχικά. ξεκινώντας με 0. Υπάρχει επίσης ένα μη διατεταγμένο ριζικό ρεύμα, το οποίο περιέχει μερικά από τα μεταδεδομένα.

βιβλιογραφικές αναφορές

Δείτε επίσης