Περιγραφή του.Αρχεία PDB και από το.Αρχεία DBG

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 121366 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Το.Επέκταση PDB συμβολίζει "βάση δεδομένων προγράμματος." Διατηρεί τη νέα μορφή για την αποθήκευση πληροφοριών εντοπισμού σφαλμάτων που θεσπίστηκε σε Visual C++ έκδοση 1.0. Στο μέλλον, το.Του αρχείου PDB επίσης θα κρατήσετε το άλλο έργο πληροφορίες κατάστασης. Ένα από τα πιο σημαντικά αιτιολογήσεων για την αλλαγή του μορφή ήταν να επιτρέπεται σύνδεση τμηματικής εκδόσεις εντοπισμού σφαλμάτων προγραμμάτων, μια Αλλαγή για πρώτη φορά σε Visual C++ έκδοση 2.0.

Το.Επέκταση DBG συμβολίζει "debug". Το.DBG αρχεία που δημιουργήθηκαν με το εργαλείων NT 32-bit είναι σε μορφή αρχείου φορητό εκτελέσιμο αρχείο (PE). Περιέχουν ενότητες με COFF, FPO, και σε ορισμένες περιπτώσεις Codeview πληροφορίες. Το πρόγραμμα εντοπισμού σφαλμάτων του Visual C++ ενσωματωμένη μπορεί να διαβάσει.Αρχεία DBG Αυτό μορφοποίηση, ωστόσο αγνοεί τις ενότητες σύμβολο COFF και αναζητά Πληροφορίες Codeview.

Εάν χρειάζεται να προσδιορίσετε ποιες πληροφορίες σύμβολο περιέχεται σε ένα.DBG αρχείο, μπορείτε να πληκτρολογήσετε τα ακόλουθα στη γραμμή εντολών:
Dumpbin sample.dbg/symbol.
				
ΣΗΜΕΙΩΣΗ Η διαδρομή μπορεί να χρειαστεί να περιλαμβάνουν καταλόγους για Dumpbin.exe και MSdis100.dll:
Path=%Path%;C:\Program Files\DevStudio\VC\bin;C:\Msssdk\bin
				
Για περισσότερες πληροφορίες σχετικά με DUMPBIN, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
177429Παραδείγματα εξόδου DUMPBIN

Περισσότερες πληροφορίες

Το.Αρχεία PDB

Ενώ παλαιότερη, 16-bit χρησιμοποιούνται εκδόσεις του Visual C++.Αρχεία PDB το αποθηκεύονται σε αυτούς πληροφορίες εντοπισμού σφαλμάτων έχει προσαρτηθεί στο τέλος της.EXE ή .Αρχείο DLL από το πρόγραμμα σύνδεσης. Σε εκδόσεις του Visual C++ που αναφέρονται παραπάνω, το πρόγραμμα σύνδεσης και το ολοκληρωμένο πρόγραμμα εντοπισμού σφαλμάτων τροποποιήθηκαν για να επιτρέψετε.PDB αρχεία χρησιμοποιούνται απευθείας κατά τη διαδικασία εντοπισμού σφαλμάτων, και εξαλείφοντας σημαντικές ποσότητες εργασίας για το πρόγραμμα σύνδεσης και επίσης παρακάμπτοντας το όριο επαχθής CVPACK τύπων 64 K.

Για περισσότερες πληροφορίες σχετικά με τους περιορισμούς CVPACK, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
112335Σφάλμα: CK1020 ή CK4009 αντιμετώπισε κατά τύπο πληροφοριών υπερβαίνει τα 64 K
Από προεπιλογή, κατά τη δημιουργία έργων που δημιουργούνται από την οπτική σας το /Fd το διακόπτη μεταγλωττιστή χρησιμοποιείται για να μετονομάσετε το.Του αρχείου PDB για <project>.PDB. Επομένως, θα έχουν μόνο μία.Του αρχείου PDB για ολόκληρο το έργο. </project>

Όταν εκτελείτε makefiles που δημιουργήθηκαν από την οπτική σας και το /Fd δεν χρησιμοποιείται με /Zi, θα καταλήξετε με δύο.Αρχεία PDB:
  • VCx0.PDB (όπου "x" αναφέρεται σε κύρια έκδοση του αντίστοιχου Visual C++, "2" ή "4"), που αποθηκεύει όλες τις πληροφορίες εντοπισμού σφαλμάτων για τα μεμονωμένα.OBJ αρχεία. Βρίσκεται στον κατάλογο όπου το βρίσκεται makefile έργου.
  • <project>.PDB, η οποία αποθηκεύει όλες τις πληροφορίες εντοπισμού σφαλμάτων για το αποτέλεσμα .Το αρχείο EXE. Βρίσκεται στον υποκατάλογο \WINDEBUG.</project>
Γιατί δύο αρχεία; Όταν εκτελείται το πρόγραμμα μεταγλώττισης, δεν γνωρίζετε το όνομα του .Το αρχείο EXE στο οποίο το.Θα συνδεθεί OBJ αρχεία, ώστε το πρόγραμμα μεταγλώττισης αδυναμία Τοποθετήστε τις πληροφορίες σε <project>.PDB. Τα δύο αρχεία αποθήκευσης διαφορετικό πληροφορίες. Κάθε φορά που μεταγλωττίζετε ένα.Αρχείο OBJ, το πρόγραμμα μεταγλώττισης συγχωνεύει το πληροφορίες εντοπισμού σφαλμάτων σε VCX0.PDB. Δεν θέτει σε σύμβολο πληροφορίες όπως η συνάρτηση ορισμούς. Τοποθετεί μόνο σε πληροφορίες σχετικά με τους τύπους. Ένα πλεονέκτημα αυτού είναι ότι, όταν κάθε αρχείο προέλευσης περιλαμβάνει κοινές κεφαλίδας τα αρχεία όπως <windows.h>, όλα τα ΔΗΛΩΣΕΙΣ TypeDef από αυτές τις κεφαλίδες είναι μόνο αποθηκεύονται μία φορά, και όχι σε κάθε.Αρχείο OBJ. </windows.h></project>

Όταν εκτελείτε το πρόγραμμα σύνδεσης, δημιουργεί <project>.PDB, τα οποία κατέχει το πληροφορίες εντοπισμού σφαλμάτων για το έργο.Το αρχείο EXE. Όλα τα εντοπισμού σφαλμάτων διατίθενται πληροφορίες, συμπεριλαμβανομένων των πρωτοτύπων συνάρτηση και οτιδήποτε άλλο, σε <project>.PDB, όχι μόνο τις πληροφορίες τύπου βρέθηκε VCX0.PDB. Το δύο είδη του.Αρχεία PDB μοιράζονται την ίδια επέκταση επειδή είναι Ένας παρόμοια δύο επιτρέπουν Βηματικές ενημερώσεις. Παρόλα αυτά, στην πραγματικότητα αποθηκεύουν διάφορες πληροφορίες. </project></project>

Το νέο πρόγραμμα εντοπισμού σφαλμάτων Visual C++ χρησιμοποιεί το <project>.Αρχείο PDB που δημιουργείται από το πρόγραμμα σύνδεσης άμεσα, και ενσωματώνει την απόλυτη διαδρομή προς το.PDB στο του.EXE ή .Αρχείο DLL. Εάν το πρόγραμμα εντοπισμού σφαλμάτων δεν είναι δυνατή η εύρεση του.Σε αυτήν τη θέση του αρχείου PDB, ή εάν η διαδρομή είναι έγκυρη (Εάν, για παράδειγμα, το έργο είχε μετακινηθεί σε άλλο υπολογιστή), το πρόγραμμα εντοπισμού σφαλμάτων αναζητά το στον τρέχοντα κατάλογο. </project>

Το.Αρχεία DBG

Επίσης, να χρησιμοποιήσετε το πρόγραμμα εντοπισμού σφαλμάτων του Visual C++ ενσωματωμένη.Εφόσον DBG αρχεία πραγματοποιήθηκαν από μια δυαδική μορφή Codeview που περιέχουν τον εντοπισμό σφαλμάτων εξόδου. Αυτές είναι χρήσιμες για τον εντοπισμό σφαλμάτων κατά τον κωδικό προέλευσης που δεν είναι διαθέσιμη. Ακόμη και χωρίς προέλευση.Αρχεία DBG σας επιτρέπουν να ορίσετε σημεία διακοπής σε λειτουργίες, Παρακολουθήστε τις μεταβλητές και δείτε τις λειτουργίες της στοίβας κλήσεων. Είναι επίσης απαιτείται για τον εντοπισμό σφαλμάτων OLE RPC.

Ένα caveat πρέπει να τονισθεί: όταν εργάζεστε με σύμβολα από ένα.DBG το αρχείο, πρέπει να χρησιμοποιήσετε πλήρως Στολισμένο ονόματα. Για παράδειγμα, για να ορίσετε ένα σημείο διακοπής σε μια κλήση της συνάρτησης sndPlaySound των Windows, θα Καθορίστε το _sndPlaySoundA@8 ως θέση.

Υπάρχουν στην πραγματικότητα δύο.Μορφές αρχείων DBG. Παλιά μορφή υπήρξε για αρκετά ενώ κόσμου 16-bit. Για παράδειγμα, επειδή η μορφή του.COM αρχεία είναι μια απλή δυαδική εικόνα φορτωθεί στη μνήμη, Codeview τον εντοπισμό σφαλμάτων πληροφορίες δεν ήταν δυνατό να προσαρτηθεί στο τέλος του αρχείου επειδή το αρχείο μέγεθος μπορεί να υπερβαίνει το όριο των 64 K για ένα.Αρχείο COM. Επομένως, η συμβολική πληροφορίες Αντίθετα τέθηκε σε ένα ξεχωριστό.Αρχείο DBG, το οποίο είχε μόνο Codeview πληροφορίες σε αυτό. Το.Αρχεία DBG μπορεί επίσης να δημιουργηθεί από εκτέλεση του CVPACK σε ένα.Το αρχείο EXE χρησιμοποιώντας την επιλογή /strip.

Για 32-bit.Τα αρχεία exe, η έκδοση 2.x Visual C++ και 4.x debugger σύμβολο πρόγραμμα χειρισμού ανάγνωση παλιά μορφή. Αντίθετα, διαβάζει τη μορφή που χρησιμοποιείται στο τα Windows NT.Αρχεία DBG παρέχονται για χρήση με το σύστημα.Τα αρχεία DLL. Αυτές.Αρχεία DBG είναι σε μορφή αρχείου φορητό εκτελέσιμο αρχείο (PE) και περιέχουν ενότητες με COFF, FPO, και σε ορισμένες περιπτώσεις συμβολική Codeview πληροφορίες. Διαβάζει το νέο πρόγραμμα εντοπισμού σφαλμάτων Visual C++.DBG αρχεία σε αυτήν τη μορφή μόνο. Επιπλέον, να χρησιμοποιεί μόνο τις πληροφορίες Codeview, αγνοώντας το άλλες ενότητες σύμβολο.

Είναι δυνατό να διαγράψετε πληροφορίες εντοπισμού σφαλμάτων από ένα αρχείο PE και να το αποθηκεύσετε σε ένα .Αρχείο DBG για χρήση από προγράμματα εντοπισμού σφαλμάτων. Για να γίνει αυτό, πρέπει να το πρόγραμμα εντοπισμού σφαλμάτων Αν θέλετε να βρείτε πληροφορίες εντοπισμού σφαλμάτων σε ένα ξεχωριστό αρχείο ή δεν γνωρίζουν και Αν οι πληροφορίες έχει έχουν αφαιρούνται από το αρχείο ή όχι. Μία μέθοδος θα για το πρόγραμμα εντοπισμού σφαλμάτων για την αναζήτηση μέσω του εκτελέσιμου αρχείου που αναζητάτε πληροφορίες εντοπισμού σφαλμάτων. Ωστόσο, για να αποθηκεύσετε το πρόγραμμα εντοπισμού σφαλμάτων από τη συνθήκη για την αναζήτηση του το αρχείο, ένα πεδίο χαρακτηριστικού αρχείου (IMAGE_FILE_DEBUG_STRIPPED) ήταν φανταστική Αυτό δηλώνει ότι το αρχείο έχει έχει αφαιρεθεί. Αυτό να αναζητήσετε προγράμματα εντοπισμού σφαλμάτων πεδίο στην κεφαλίδα του αρχείου PE για να προσδιορίσετε γρήγορα αν του εντοπισμού σφαλμάτων πληροφορίες δεν υπάρχουν στο αρχείο ή όχι.

Για να δημιουργήσετε ένα.Αρχείο DBG σε αυτήν τη μορφή, μπορείτε να χρησιμοποιήσετε το REBASE.EXE που είναι που παρέχονται με το Win32 SDK. Ανατρέξτε στην τεκμηρίωση του Win32 SDK περισσότερες λεπτομέρειες.

Κατά τη διάρκεια εκδόσεις λιανικής των Windows NT, αφαιρούνται τα σύμβολα εντοπισμού σφαλμάτων από το τα δυαδικά αρχεία συστήματος και προγραμμάτων οδήγησης και αποθηκευμένες σε ξεχωριστά.Αρχεία DBG. Αυτό γίνεται Επειδή το πρόγραμμα εντοπισμού σφαλμάτων πυρήνα των Windows NT να χρησιμοποιήσετε αυτές τις.DBG αρχεία και παρέχουν σύμβολα εντοπισμού σφαλμάτων, ακόμη και για βελτιστοποιημένη προγράμματα οδήγησης. Να θυμάστε, ωστόσο, ότι το Προγράμματος εντοπισμού σφαλμάτων Visual C++ ενσωματωμένη έχει σχεδιαστεί για τον εντοπισμό σφαλμάτων σε προστατευμένη κατάσταση λειτουργίας κωδικός πυρήνα.

Μπορείτε να βρείτε τα αρχεία συμβόλων των Windows NT σε έναν υποκατάλογο εντοπισμού σφαλμάτων της το Κατάλογος \SUPPORT σε λιανικής των Windows NT CD-ROM. Τα αρχεία αυτά πρέπει να είναι Αντιγραφή από το CD-ROM στον σκληρό σας δίσκο. Χρήστη λειτουργία εντοπισμού σφαλμάτων για το προορισμός debugger μηχάνημα.Σύμβολα DBG πρέπει να υπάρχει στα Windows NT \<winnt>\SYMBOLS κατάλογο του συστήματος προορισμού (<winnt> είναι ο κατάλογος όπου τα Windows NT είναι εγκατεστημένα). Εγκαθιστά το νέο πρόγραμμα εγκατάστασης Visual C++ εικονίδιο "NT συστήματος σύμβολα Setup" της ομάδας σας πρόγραμμα. Μπορείτε να χρησιμοποιήσετε για να αυτόματη αντιγραφή του.DBG αρχεία από το CD-ROM των Windows NT Workstation δίσκος δομή σωστό κατάλογο στον σκληρό σας δίσκο. Αυτή η μέθοδος δεν λειτουργεί για το CD-ROM των Windows NT Server 4.0, επειδή το.Αρχεία DBG αποθηκεύονται σε συμπιεσμένη μορφή. </winnt></winnt>

Για τον εντοπισμό σφαλμάτων πυρήνα, τοποθετήστε.DBG αρχεία σε ένα δέντρο σύμβολα κάτω από το κατάλογο που καθορίζεται από τη μεταβλητή περιβάλλοντος _NT_SYMBOL_PATH (για παράδειγμα, C:\DEBUG\SYMBOLS). Πρόγραμμα εντοπισμού σφαλμάτων πυρήνα είναι δυνατό με ένα ελάχιστο σύνολο σύμβολα που αποτελούνται από σύμβολα για όλα τα προγράμματα οδήγησης (*.SYS) με το Κατάλογος SYMBOLS\SYS και σύμβολα για NTOSKRNL.EXE και HAL.DLL στο του Κατάλογοι SYMBOLS\EXE και SYMBOLS\DLL, αντίστοιχα. Για περισσότερες πληροφορίες στο πρόγραμμα εντοπισμού σφαλμάτων πυρήνα, ανατρέξτε στη συζήτηση σχετικά με το πρόγραμμα εντοπισμού σφαλμάτων πυρήνα στο Οδηγός για προγραμματιστές του Windows NT DDK.

Ενώ είναι θεωρητικά δυνατή η μετατροπή από ένα.Αρχείου PDB πίσω σε ένα .Αρχείο DBG δεν trivial εργασιών. Αυτήν τη στιγμή, γνωρίζετε από κανένα τέτοιο εργαλείο. Αν μας ακούτε από ένα τέτοιο εργαλείο, θα ενημερώσουμε αυτό το άρθρο στη Microsoft Γνωσιακή βάση.

Ιδιότητες

Αναγν. άρθρου: 121366 - Τελευταία αναθεώρηση: Πέμπτη, 26 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
Λέξεις-κλειδιά: 
kbbug kbdebug kbide kbinfo kbmt KB121366 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:121366
Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής Βάσης (KB) που έχει αποσυρθεί
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com