2010-07-16 15 views
7

ठीक है, मुझे एहसास है कि पीडीबी फाइलें .NET असेंबली के लिए प्रतीक फाइलें हैं। लेकिन मैंने वास्तव में अपने विस्तारित उपयोग में कभी नहीं देखा।वास्तव में पीडीबी फाइलें क्या करती हैं?

यदि मैं एक दृश्य स्टूडियो से रिमोट डीबगर के साथ हुक करता हूं जिसमें चलने वाला कोड लोड होता है, तो क्या मुझे वास्तव में दूरस्थ मशीन पर पीडीबी फाइलों की आवश्यकता होती है?

क्या मुझे मशीन पर उनके बिना अनचाहे अपवाद जानकारी मिल जाएगी जहां कोड पीडीबी फाइलों के बिना चल रहा है और स्रोत कोड से जुड़े डीबगर?

वे और क्या करते हैं?

+0

क्लासिक संसाधन [जॉन रॉबिन्स ब्लॉग] पर है [http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must -know.aspx)। –

+0

बहुत उपयोगी! धन्यवाद! – Matt

उत्तर

2

मुझे रिमोट डीबगिंग स्थिति में रिमोट मशीन पर पीडीबी की आवश्यकता होने पर मुझे याद नहीं है, लेकिन अन्य चीजों के साथ पीडीबी में संकलित कोड ऑफसेट मानचित्र के लिए स्रोत कोड लाइन नंबर होता है। आप केवल प्रबंधित असेंबली का उपयोग करके स्रोत कोड के माध्यम से कदम नहीं उठा सकते हैं।

चूंकि प्रबंधित असेंबली मूल स्रोत कोड से बहुत से टेक्स्ट प्रतीक नामों को बरकरार रखते हैं, तो आप पीडीबी के बिना एक डीबगर के साथ एक प्रबंधित निष्पादन योग्य में चारों ओर पोक कर सकते हैं, लेकिन आप केवल प्रकार के नाम और सार्वजनिक प्रतीकों को देख पाएंगे - आपको स्थानीय प्रतीकों के लिए नाम नहीं दिखाई देंगे, क्योंकि .NET असेंबली या जेआईटी आईएल को रनटाइम पर मूल कोड में बाध्य करने की आवश्यकता नहीं है।

अनचाहे अपवाद अधिसूचनाएं संबंधित नहीं हैं कि पीडीबी मौजूद है या नहीं। यदि किसी डीबगर प्रक्रिया से जुड़ा हुआ है, दूरस्थ या नहीं, तो डीबगर को अपवाद पर पहली दरार मिल जाएगी।

1

रिमोट मशीन पर पीडीबी की आवश्यकता नहीं है। डीबगर को खुद को रिमोट एजेंट टुकड़ा नहीं ढूंढने में सक्षम होना चाहिए।

संबंधित मुद्दे