2010-09-18 8 views
5

मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं। मुझे अपने प्रोजेक्ट में कुछ डीएलएल डीबग करने की आवश्यकता नहीं है, तो क्या मैं Visual C++ प्रोग्राम को डिबग करते समय प्रतीक लोडिंग अक्षम कर सकता हूं? क्या डिबगिंग करते समय स्टार्टअप समय तेज़ी से बनाने में मदद मिलती है?विज़ुअल सी ++ प्रोग्राम डिबग करते समय प्रतीक लोडिंग को अक्षम कैसे करें?

प्रतीकों सभी स्थानीय हैं, इसलिए मेरे पास उन धीमी लोडिंग समस्या नहीं है, बस डीबगिंग तेजी से और तेज बनाना चाहते हैं।

उदाहरण के लिए मैं क्यूटी पुस्तकालयों का उपयोग कर रहा हूं, जब मैं "डिबगिंग शुरू करना" दबाता हूं, आउटपुट विंडो से पता चलता है कि क्यूटी पुस्तकालयों के लिए प्रतीक लोड किए गए हैं। यदि वीएस उन प्रतीकों को लोड करना बंद कर सकता है, तो डिबगिंग स्टार्टअप समय तेज होना चाहिए। बेशक, मैं अभी भी वीएस को अपने निष्पादन योग्य के लिए प्रतीक लोड करना चाहता हूं।

उत्तर

0

मुझे यकीन नहीं है कि 'स्टार्टअप' से आपका क्या मतलब है। मुझे लगता है कि आप वास्तविक एप्लिकेशन लॉन्च करने के बारे में बात कर रहे हैं। लक्ष्य एप्लिकेशन लॉन्च करने का समय महंगा है, चाहे आप इसे लॉन्च करते हैं। यह रिलीज में कम हो सकता है लेकिन यह नगण्य होगा।

अन्य समाधान में उल्लिखित सभी प्रतीक पथों को बंद करना एक व्यवहार्य विकल्प है। हालांकि, मुझे यकीन नहीं है कि अगर आप अपने लॉन्च किए गए एप्लिकेशन के लिए प्रतीकों को नहीं चाहते हैं तो आप डिबगिंग क्यों कर रहे हैं। एप्लिकेशन प्रतीकों के बिना आप यह देखने में सक्षम नहीं होंगे कि आप डीबगिंग करते समय स्रोत कोड में कहां हैं।

यदि आप एक तेज डीबगिंग अनुभव की तलाश में हैं तो आप WinDbg का उपयोग कर सकते हैं। यह विंडोज एसडीके के साथ आता है लेकिन इसे अलग से भी डाउनलोड किया जा सकता है। यदि विजुअल स्टूडियो की तुलना में तेज़ यूआई है, लेकिन यदि आप जीयूआई के साथ अधिक सहज हैं तो इसका उपयोग करना अधिक बोझिल है। WinDbg लगभग सभी कार्यों को करने के लिए कमांड का उपयोग करता है, लेकिन आप कुछ बेहतरीन डिबगिंग कर सकते हैं और विजुअल स्टूडियो की तुलना में कई मामलों में यह तेज़ है। यदि आप सी ++ \ सीएलआई या किसी प्रबंधित एप्लिकेशन (उदा। सी #) को डीबग करना चाहते हैं, तो मैं विजुअल स्टूडियो के साथ रहूंगा। WinDbg में SOS नामक एक एक्सटेंशन है, लेकिन इसे सही तरीके से उपयोग करने के लिए कुछ उन्नत डिबगिंग अनुभव की आवश्यकता है।

+0

यह संभव है कि WinDbg का उपयोग करने से डीबगर प्रदर्शन में लाभ पूर्ण आईडीई का उपयोग जारी रखने के ओपी को उत्पादकता लाभ से अधिक होगा। WinDbg की जगह है - मैं अभी भी मूल कोड में गड़बड़ी के खराब पोस्ट की पोस्टमॉर्टम डीबगिंग के लिए इसका उपयोग करता हूं जैसे स्टैक ओवरफ्लो या भ्रष्टाचार, जहां आईडीई अपने हाथों को फेंकता है या विस्फोट करता है - लेकिन 99% मामलों में वीएस देशी सी ++ के लिए ठीक होगा प्रबंधित कोड के रूप में अच्छी तरह से। –

+0

मेरा मतलब विजुअल स्टूडियो में "स्टार्ट डिबगिंग" मारने पर प्रारंभ समय है। मैं अपने आवेदन को डीबग करना चाहता हूं, लेकिन डीएलएल लोड नहीं करता, उदाहरण के लिए क्यूटी पुस्तकालय। शायद मुझे डिबगिंग होने पर पुस्तकालयों के रिलीज़ संस्करण का उपयोग करने का प्रयास करना चाहिए। – fxam

+0

यदि आप लॉन्च समय पर कटौती करना चाहते हैं तो लाइब्रेरी के प्रतीकों को प्रश्न में हटा दें। इस मामले में, प्रतीक फ़ाइलें (पीडीबीएस) शायद क्यूटी लाइब्रेरी बाइनरी के बगल में हैं। उन्हें हटा दें और वे लोड नहीं होंगे। बाइनरी का निर्माण प्रकार आपके डीबग लॉन्च समय को किसी भी बड़ी डिग्री में बढ़ाने वाला नहीं है। – linuxuser27

18

बस पता चला कि विजुअल स्टूडियो 2010 वास्तव में जो मैं चाहता हूं वह करता हूं। (: DLLs जैसे): उपकरण के लिए

  1. जाएं> विकल्प> Debugging-> प्रतीक
  2. पर क्लिक करें "केवल निर्दिष्ट मॉड्यूल

    अन्य प्रतीक लोड हो रहा है बिना अपने निष्पादन योग्य फ़ाइल के लिए केवल प्रतीक लोड करने के लिए "

  3. साफ़" हमेशा लोड मॉड्यूल "
  4. पर क्लिक करें" मॉड्यूल निर्दिष्ट करें "
  5. के बगल में स्थित प्रतीकों नया आइकन पर क्लिक करें
  6. अपने exe दर्ज कटटेबल फ़ाइल नाम (उदाहरण: my-awesome-app.exe)

यह भी पता चला कि विजुअल स्टूडियो 2010 विजुअल स्टूडियो 2008 से डिबगिंग करते समय बेहतर प्रदर्शन करता प्रतीत होता है। डीबगिंग बंद होने पर कम से कम आईडीई लेआउट तेजी से स्विच हो जाता है।

+3

+1 इसे करने का अच्छा तरीका। – linuxuser27

+0

अंत में कुछ काम करता है। चरण 3 बहुत महत्वपूर्ण है। – mathiasfk

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

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