पीडीबी में स्टैक को सही ढंग से पढ़ने के लिए डीबगर की जानकारी होती है। आपके स्टैक निशान में मॉड्यूल के अंदर स्टैक फ्रेम के लाइन नंबर और प्रतीक नाम होंगे जिनके लिए आपके पास पीडीबी है।
मैं दो उपयोग उदाहरण दूंगा। पहला स्पष्ट जवाब है। दूसरा स्रोत-अनुक्रमित पीडीबी बताता है।
1 के उपयोग का उदाहरण ...
सम्मेलन बुला और जो के आधार पर इस्तेमाल किया संकलक अनुकूलन, यह संभव के लिए डिबगर मैन्युअल रूप से एक मॉड्यूल जिसके लिए आप एक pdb की जरूरत नहीं है के माध्यम से स्टैक करने के लिए नहीं हो सकता है। यह कुछ तृतीय पक्ष पुस्तकालयों और यहां तक कि ओएस के कुछ हिस्सों के लिए भी हो सकता है।
एक परिदृश्य पर विचार करें जिसमें आपको विंडोज ओएस के अंदर एक प्रवेश उल्लंघन का सामना करना पड़ता है। स्टैक ट्रेस आपके अपने एप्लिकेशन में नहीं खुलता है क्योंकि वह ओएस घटक एक विशेष कॉलिंग कन्वेंशन का उपयोग करता है जो डीबगर को भ्रमित करता है। यदि आप सार्वजनिक ओएस पीडीबी डाउनलोड करने के लिए अपना प्रतीक पथ कॉन्फ़िगर करते हैं, तो एक अच्छा मौका है कि स्टैक ट्रेस आपके एप्लिकेशन में खुल जाएगा। इससे आपको यह देखने में मदद मिलती है कि आपके सिस्टम को ओएस सिस्टम कॉल में कितना तर्क दिया गया है।
2 के उपयोग का उदाहरण (और एक 3 पार्टी पुस्तकालय के अंदर या यहां तक कि अपने खुद के कोड के अंदर ए वी के लिए इसी तरह के उदाहरण) ...
PDB के एक और बहुत उपयोगी संपत्ति है - वे कुछ स्रोत नियंत्रण प्रणाली का उपयोग कर के साथ एकीकृत कर सकते हैं एक सुविधा है कि माइक्रोसॉफ्ट "स्रोत अनुक्रमण" कहते हैं। स्रोत-अनुक्रमित पीडीबी में स्रोत नियंत्रण कमांड होते हैं जो निर्दिष्ट करते हैं कि स्रोत नियंत्रण से घटक को बनाने के लिए उपयोग किए जाने वाले सटीक फ़ाइल संस्करणों को कैसे प्राप्त किया जाए। माइक्रोसॉफ्ट के डिबगर्स समझते हैं कि डीबग सत्र के दौरान फ़ाइलों को स्वचालित रूप से लाने के लिए आदेशों को कैसे निष्पादित किया जाए। यह एक शक्तिशाली विशेषता है जो डीबग egineer को किसी दिए गए निर्माण के लिए सही लेबल पर स्रोत पेड़ को मैन्युअल रूप से सिंक करने से बचाती है। यह रिमोट डीबगिंग सत्रों के लिए और क्रैश डंप पोस्ट-मॉर्टम का विश्लेषण करने के लिए विशेष रूप से उपयोगी है।
"विंडोज़ के लिए डीबगिंग टूल्स" इंस्टॉलेशन (विंडबग) में srcsrv.doc नामक एक दस्तावेज़ शामिल है जो एक उदाहरण प्रदान करता है कि यह निर्धारित करने के लिए कि srctool.exe का उपयोग कैसे किया जाए, यह निर्धारित करने के लिए कि कौन सी स्रोत फाइलें किसी दिए गए पीडीबी में स्रोत-अनुक्रमित हैं।
अपने प्रश्न का उत्तर देने के लिए "मुझे कैसे पता चलेगा", डीबगर में "मॉड्यूल" सुविधा आपको बता सकती है कि कौन से मॉड्यूल में संबंधित पीडीबी है। विंडबग में "एलएमएल" कमांड का उपयोग करें। दृश्य स्टूडियो में डीबग मेनू में कहीं से मॉड्यूल का चयन करें।(क्षमा करें, मेरे पास विजुअल स्टूडियो का वर्तमान संस्करण आसान नहीं है)