2010-04-12 13 views
6

मुझे एक क्लास लाइब्रेरी प्रोजेक्ट डीबग करने की आवश्यकता है जो मुख्य परियोजना (एक एएसपी.नेट वेबसाइट) को डीएलएल के रूप में प्रदान की जाती है। उदाहरण के लिए, निष्पादन के दौरान क्या हो रहा है यह जांचने के लिए मुझे कुछ ब्रेकपॉइंट्स रखना होगा।.NET - एक डीएलएल डीबग कैसे करें?

मैं How to: Debug from a DLL Project की कोशिश की, दुर्भाग्य से यह काम नहीं किया ...

मैं इसे कैसे कर सकता है?

पीएस: मेरे पास स्रोत कोड है!

+1

और आपके पास DLL का स्रोत कोड नहीं है या यह एक .NET लाइब्रेरी है? – Ivo

+0

@ गॉर्डनबी मैं ऐसा नहीं कर सकता। मुझे इसे बाहरी असेंबली के रूप में चलाने की ज़रूरत है! –

उत्तर

3

Debugging DLLs in Visual Studio (सूची में # 2 देखें) हो सकता है कि आप जो खोज रहे हैं (पूर्ण प्रकटीकरण: हाँ, यह मेरी निजी वेबसाइट है)।

  • विधि # 1 के साथ, आप चर नहीं देख सकते हैं।

  • विधि # 2, चरण # 2 के साथ, यदि आप एक ही विजुअल स्टूडियो इंस्टेंस में प्रोजेक्ट नहीं खोल सकते हैं, तो आप प्रोजेक्ट की बाइनरी चला सकते हैं (यानी, इसे विजुअल स्टूडियो के बाहर चलाएं, लेकिन बनाएं सुनिश्चित करें कि आप डीबग संस्करण चलाते हैं।) और विजुअल स्टूडियो डीबगर को इसमें संलग्न करें (मेनू डीबग -> प्रक्रिया को संलग्न करें)। DLL परियोजना के लिए एक का उपयोग कर प्रक्रिया अटैच किया जा रहा

    :

यहाँ विधि # 2 ताकि कोई भी लिंक का पालन किया है के लिए कदम हैं। इसमें विजुअल स्टूडियो डीबगर को चलने वाली प्रक्रिया में शामिल करना शामिल था।

  1. विजुअल स्टूडियो में डीएलएल प्रोजेक्ट खोलें।
  2. डीएलएल का उपयोग करने वाले एक एप्लिकेशन को चलाएं। से प्रक्रिया के बाद से एप्लिकेशन को डीबगर से पहले डीबगर से पहले नहीं चलाया जा सकता है।
  3. यहां से आप के माध्यम से ब्रेकपॉइंट जोड़ सकते हैं और विजुअल स्टूडियो में लोड किए गए डीएलएल कोड (हालांकि ब्रेकपॉइंट अक्षम हो जाएगा विधि 1 जैसा ही दिखाई देगा)।
+0

यह वही है जो मैं ढूंढ रहा था! बहुत बढ़िया टिप्स धन्यवाद! –

+0

प्रश्न कृपया। मैंने # 1 की कोशिश की है और यह मुझे स्टैक ट्रेस दिखाता है लेकिन अगर मैं अपने चर देखना चाहता हूं तो मैं कैसे कर सकता हूं? मुझे # 2 समझ में नहीं आया। मैं उस प्रोजेक्ट को कैसे चला सकता हूं जो डीएलएल का उपयोग विज़ुअल स्टूडियो के उसी उदाहरण में करता है जहां डीएलएल प्रोजेक्ट लोड होता है? –

+0

@Amokrane, संपादित देखें। –

8

यदि आपके पास स्रोत कोड है, और आपकी बीआईएन निर्देशिका में .pdb फ़ाइलें हैं, तो आप उस कोड के माध्यम से डीबग कर सकते हैं। हालांकि, आपको विजुअल स्टूडियो में बाहरी कोड डीबगिंग सक्षम करने की आवश्यकता होगी।

आप "जस्ट माई कोड सक्षम" विकल्प को अनचेक करने की जरूरत है: मेनू उपकरण ->विकल्प ->डिबगिंग ->जस्ट माई कोड सक्षम

नोट: यह केवल .NET असेंबली के लिए काम करेगा।

+0

लेकिन कोड के माध्यम से डीबग कैसे करें? –

+0

यदि आपके पास पीडीबी फाइलें और स्रोत फाइलें हैं, तो आपको केवल अपने कोड में ब्रेकपॉइंट सेट करना होगा जो बाहरी असेंबली में कॉल करता है। विजुअल स्टूडियो स्वचालित रूप से प्रतीकों को उठाएगा और उन्हें लोड करेगा, जिससे आप कोड में कदम उठा सकते हैं। यदि आपके पास स्रोत फाइल नहीं है तो ऐसे प्रोग्राम हैं जो पीडीबी से कोड के प्रतिनिधित्व को पुनर्निर्माण कर सकते हैं। यदि आपके पास .pdb फ़ाइलें नहीं हैं, तो चीजें अधिक कठिन हो जाती हैं। – Josh

+0

@Amokrane: आपको कोड में कदम उठाना होगा। डीएलएल से कुछ तरीकों को कॉल करने से पहले एक जगह पर अपने कोड में एक डीबगर रखें। F11 दबाकर विधि में कदम उठाएं। – Marek

0

जब आप वर्ग पुस्तकालय परियोजना का निर्माण, .pdb फ़ाइल है कि वर्ग पुस्तकालय के Debug या Release फ़ोल्डर में बनाया जाता है। इन दो फाइलों को ASP.NET प्रोजेक्ट द्वारा संदर्भित किया जाता है जब आप राइट क्लिक करते हैं और "संदर्भ जोड़ें" विकल्प का चयन करते हैं और क्लास लाइब्रेरी प्रोजेक्ट की DLL फ़ाइल को इंगित करते हैं।

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