2012-01-27 9 views
7

मैंने 2010 के अंदर प्रतीक (पीडीबी) फ़ाइल निर्दिष्ट की है ताकि इसे सही ढंग से लोड किया जा सके लेकिन मुझे No source available त्रुटि मिली और Browse to Find Source Code गहरा हुआ है। क्या किसी को पता है कि मैं स्रोत कोड निर्देशिका कैसे निर्दिष्ट कर सकता हूं या पीडीबी के अंदर देख सकता हूं कि यह कहां है?विजुअल स्टूडियो 2010 सी ++ डिबगिंग प्रतीकों को लोड किया गया लेकिन स्रोत कोड नहीं मिला

संपादित करें: मेरा डीएलएल बाहरी कार्यक्रम द्वारा बुलाया जा रहा है। त्रुटि मेरे डीएलएल के अंदर हो रही है इसलिए मेरे पास स्रोत कोड है। जब त्रुटि होती है तो मैं डीबग पर क्लिक करता हूं, पीडीबी प्रतीकों को लोड किया जाता है लेकिन स्रोत नहीं।

+1

[PDB] (http://msdn.microsoft.com/en-us/library/yd4f8bd1 (v = vs.71) .aspx) फ़ाइल exe फ़ाइल या के लिए डिबगिंग और परियोजना जानकारी रखता .obj फ़ाइलें। मुझे संदेह है कि आप "पीडीबी के अंदर देख सकते हैं कि स्रोत कोड निर्देशिका कहां है"। – LihO

+0

क्या मैं आपसे पूछ सकता हूं कि आप वास्तव में क्या करने की कोशिश कर रहे हैं? – LihO

+0

@LihO क्षमा करें अगर यह स्पष्ट नहीं था - मैंने प्रश्न अपडेट किया है। धन्यवाद। –

उत्तर

4

यदि आपने डीएलएल को अपनी बिल्ड निर्देशिका से स्थानांतरित किया है तो डीबगर स्रोत कोड फ़ाइलों को स्वयं ढूंढने में सक्षम होने की संभावना नहीं है। सबसे पहले आप यह कर सकते हैं कि समाधान एक्सप्लोरर विंडो, गुण, सामान्य गुण, डीबग स्रोत फ़ाइलों में समाधान रूट नोड पर राइट-क्लिक करें और DLL प्रोजेक्ट स्रोत निर्देशिका में पथ जोड़ें।

दूसरा तरीका: डीबगर आपको पहली बार स्रोत कोड फ़ाइल खोजने की आवश्यकता देता है। यदि आपने कभी उस संवाद पर रद्द कर दिया है, तो ऐसा करने के लिए बहुत आम बात यह है कि जब आप नहीं जानते कि यह वास्तव में क्या पूछ रहा है, तो आईडीई आपके चयन को याद करता है और आपको फिर से संकेत नहीं देगा। समाधान निर्देशिका में छिपी हुई .suo फ़ाइल को हटाकर या नाम बदलकर ठीक करें।

+0

मुझे एक ही समस्या है। मैं एक ऐप डीबग कर रहा हूं और किसी अन्य मॉड्यूल (डीएलएल) में परिभाषित एक फ़ंक्शन में कदम नहीं उठा सकता हूं। * मॉड्यूल विंडो * रिपोर्ट करता है कि प्रतीकों को उस डीएलएल के लिए लोड किया गया था, लेकिन आईडीई फ़ंक्शन में कदम नहीं उठाता है। मैं * Disassembly * मोड में कदम रखने में कामयाब रहा हूं, लेकिन फिर मैं स्रोत पर वापस नहीं जा सकता (विकल्प * स्रोत कोड पर जाएं * ग्रे हो गया है)। संकलित होने के बाद से मैंने सोर्स कोड नहीं ले जाया है। मैंने .suo फ़ाइल को हटाने और डीबग स्रोत फ़ाइलों को सेट करने का प्रयास किया है - मदद नहीं की। कोई विचार? –

+0

मुझे निष्पादन योग्य के साथ एक ही समस्या है, लेकिन इसे स्थानांतरित नहीं किया गया है। आउटपुट विंडो से पता चलता है कि प्रतीकों को लोड किया गया है, फिर भी यह कहता है कि स्रोत उपलब्ध नहीं है। इसमें स्रोत के लिए ब्राउज़ करने या डिस्प्लेब्स पर जाने के विकल्प हैं। स्रोत कोड विकल्प ग्रे हो गया है। यदि मैं मैन्युअल रूप से स्रोत फ़ाइल खोलता हूं और ब्रेक पॉइंट सेट करने का प्रयास करता हूं, तो यह इंगित करने के लिए एक खोखला सर्कल दिखाता है कि मॉड्यूल लोड नहीं होता है। केवल कुछ समाधानों के साथ होता है। बहुत अजीब। –

1

जो मैं समझता हूं उससे आप सिर्फ अपने प्रोग्राम को डीबग करना चाहते हैं, कि आपके पास डीएलएल के रूप में है। समस्या यह है कि बाहरी प्रोग्राम इस डीएलएल का उपयोग करता है और आप के बाद पॉप अप करने वाली विंडो से "डीबग" पर क्लिक करते हैं।

मुझे लगता है कि आप विजुअल स्टूडियो में अपनी प्रोजेक्ट खोलना चाहते हैं और फिर "प्रक्रिया से अटैचमेंट" विंडो खोलने के लिए Ctrl + Alt + P दबाएं, जहां आपको इस DLL (iexplore.exe या जो कुछ भी आप काम कर रहे हैं, का उपयोग करने वाली प्रक्रिया का चयन करना चाहिए साथ) ताकि आप वहां कुछ ब्रेकपॉइंट्स टॉगल कर सकें और पर से पहले क्या हो रहा है, यह त्रुटि होती है।

1

@ हंस पासेंट द्वारा हैक काम करता है, लेकिन वास्तव में इसे प्राप्त करने का एक आधिकारिक तरीका है: समाधान एक्सप्लोरर पर अपने समाधान पर राइट क्लिक करें, गुण/सामान्य गुण/डीबग स्रोत फ़ाइलों का चयन करें। आपको उन सभी फ़ाइलों की एक सूची देखने और संपादित करने में सक्षम होना चाहिए जहां आपने स्रोत पथ के लिए संकेत दिए जाने पर पहले 'रद्द' चुना था।

enter image description here

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