पीडीबी फाइल क्या है?
.Pdb एक्सटेंशन वाली फ़ाइल एक प्रोग्राम डेटाबेस फ़ाइल है जिसमें संकलित निष्पादन योग्य (EXE/DLL) के लिए डिबगिंग जानकारी होती है। PDB फाइलें Microsoft कंपाइलर्स द्वारा उत्पन्न की जाती हैं जब एक एप्लिकेशन प्रोग्राम डीबग मोड में संकलित किया जाता है। पीडीबी फ़ाइल की उपस्थिति रिवर्स इंजीनियरिंग में एक निष्पादन योग्य मदद कर सकती है क्योंकि इसमें मॉड्यूल के सभी प्रतीकों के बारे में महत्वपूर्ण जानकारी होती है। यही कारण है कि इन फाइलों को अंतिम एक्जीक्यूटेबल से अलग रखा जाता है। Microsoft का DgbHelp API सार्वजनिक और निर्यात, वैश्विक प्रतीकों, स्थानीय प्रतीकों जैसी जानकारी प्राप्त करने के लिए एक PDB फ़ाइल खोल सकता है। डेटा, स्रोत फ़ाइलें और लाइन नंबर टाइप करें।
पीडीबी फ़ाइल प्रारूप
PDB Microsoft का स्वामित्व फ़ाइल स्वरूप है और इसे अभी तक कहीं भी आधिकारिक रूप से प्रलेखित नहीं किया गया है। हालाँकि, एक प्रारंभिक दस्तावेज़ यहाँ उपलब्ध है और इसे संदर्भित किया जा सकता है।
पीडीबी स्ट्रीम
PDB फ़ाइलों में कई धाराएँ होती हैं जहाँ प्रत्येक धारा एक आभासी व्यक्तिगत फ़ाइल के रूप में कार्य करती है और इसमें जानकारी होती है। PDB फ़ाइल लेखक इन फ़ाइलों को लिख सकते हैं और फ़ाइल को एक स्पष्ट प्रतिबद्धता जारी होने के बाद ही अंतिम रूप दिया जाता है। एक कंपाइलर पीडीबी फ़ाइल में लिखना जारी रख सकता है लेकिन तभी प्रतिबद्ध हो सकता है जब सभी उपयोगकर्ता कोड सफलतापूर्वक संकलित हों। एक PDB फ़ाइल में निम्नलिखित धाराएँ होती हैं:
धारा सं. | सामग्री | संक्षिप्त विवरण |
---|---|---|
1 | Pdb (हेडर) | संस्करण की जानकारी, और इस PDB को EXE से जोड़ने के लिए जानकारी |
2 | टीपीआई (टाइप मैनेजर) | निष्पादन योग्य में प्रयुक्त सभी प्रकार |
3 | डीबीआई (डीबग जानकारी) | अनुभाग योगदान और ‘मॉड’ की सूची को होल्ड करता है |
4 | नेम मैप | हैशेड स्ट्रिंग टेबल रखती है |
4-(एन+4) | एन मॉड (मॉड्यूल जानकारी) | प्रत्येक मॉड स्ट्रीम में एक संकलन के लिए प्रतीक और रेखा संख्याएँ होती हैं |
एन+4 | वैश्विक प्रतीक हैश | एक अनुक्रमणिका जो वैश्विक प्रतीकों में नाम से खोजने की अनुमति देती है |
एन+5 | सार्वजनिक प्रतीक हैश | एक अनुक्रमणिका जो पतों द्वारा सार्वजनिक प्रतीकों में खोजने की अनुमति देती है |
एन+6 | सिंबल रिकॉर्ड्स | वैश्विक और सार्वजनिक प्रतीकों का वास्तविक प्रतीक रिकॉर्ड |
एन+7 | हैश टाइप करें | TPI स्ट्रीम द्वारा उपयोग किया गया हैश। |
पीडीबी फ़ाइल में प्रत्येक स्ट्रीम में कई पृष्ठ होते हैं जो आवश्यक रूप से लगातार क्रमांकित नहीं होते हैं।
पीडीबी हेडर
एक पीडीबी फाइल एक हेडर के साथ होती है जिसमें विशिष्ट प्रारूप की पहचान करने और मान्य करने के लिए एक हस्ताक्षर होता है। हस्ताक्षर की लंबाई पीडीबी प्रारूप पर निर्भर करती है। शीर्षक एक पृष्ठ से अधिक लंबा हो सकता है।
पीडीबी मेटाडेटा
पीडीबी मेटाडेटा सभी घटक धाराओं को पहचानने के लिए जिम्मेदार है, प्रत्येक धारा के लिए पृष्ठों की लंबाई और अनुक्रम देता है। आदेश लगातार धाराओं को दिए जाते हैं; 0 से शुरू हो रहा है। एक अनियंत्रित रूट स्ट्रीम भी है, जिसमें कुछ मेटाडेटा शामिल हैं।