visual studio - विजुअल स्टूडियो लोडिंग प्रतीक




visual-studio debugging (9)

मैं थोड़ी देर के लिए ColdFusion प्रोजेक्ट पर काम कर रहा हूं, और विजुअल स्टूडियो ने कम से कम मेरे लिए अजीब व्यवहार करना शुरू कर दिया।

मैंने देखा कि जब मैंने डिबगिंग शुरू की, तो उसने प्रोजेक्ट बनाया, उसने तैनाती शुरू की, और तैनाती समाप्त हो गई और यह मेरे प्रोजेक्ट के लिए प्रतीकों को लोड करना शुरू कर रहा था।

लेकिन यह बहुत धीमा था, और मुझे नहीं पता कि यह इस कदम को क्यों शुरू कर दिया। मैंने क्या किया है?

क्या यह प्रतीक लोडिंग चरण आवश्यक है? मैं इसे कैसे अक्षम कर सकता हूं?

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

मैंने मॉड्यूल विंडो में देखा जो प्रतीकों को लोड किया गया है, लेकिन यह मेरे लिए कुछ भी नहीं कहता है। समस्या क्या है?


अनचेकिंग "टूल्स-> विकल्प-> डिबगिंग-> सामान्य में एएसपी.नेट (क्रोम और आईई) के लिए जावास्क्रिप्ट डिबगिंग सक्षम करें, सामान्य रूप से प्री-सेट ब्रेकपॉइंट्स के साथ वीएस2017 डीबगर लॉन्च करने के लिए अनुपलब्धता के साथ मेरे मामले को हल किया।


उपकरण, विकल्प, डिबगिंग, प्रतीक में कॉन्फ़िगर करें।

आप आमतौर पर क्या कर रहे हैं यह देखने के लिए आउटपुट विंडो (देखें, आउटपुट) देख सकते हैं। यदि यह वास्तव में धीमा है तो शायद इसका मतलब यह है कि यह लापता प्रतीकों को डाउनलोड करने के लिए एक प्रतीक सर्वर, शायद माइक्रोसॉफ्ट का मार रहा है। यह प्रत्येक फ़ाइल के लिए तीन HTTP हिट लेता है जो इसे प्रत्येक स्टार्टअप पर नहीं मिल पाता है - आप इसे कभी-कभी नीचे स्टेटस बार में या जैसे फिडलर में देख सकते हैं। आप डीबग, विंडोज़, मॉड्यूल में डिबगिंग करते समय देख सकते हैं कि कौन से मॉड्यूल ने प्रतीकों को लोड किया है।

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


धीमी लोडिंग के लिए एक अन्य कारण यह है कि यदि आपने डिबगिंग विकल्पों में "बस मेरा कोड सक्षम करें" अक्षम कर दिया है। इसे सक्षम करने के लिए यहां जाएं:

Tools -> Options -> Debugging -> General -> Enable Just My Code (Managed Only) 

सुनिश्चित करें कि यह चेक किया गया है।


बस इस मुद्दे का सामना करना पड़ा। ब्रेकपॉइंट्स को हटाना काम नहीं करता था, या कम से कम सिर्फ अपने ही नहीं। इस विफल होने के बाद मैं उपकरण चला गया> विकल्प> डिबगिंग> प्रतीक और "खाली प्रतीक कैश"

और फिर समाधान को साफ और पुनर्निर्मित किया।

अब सही ढंग से काम कर रहा प्रतीत होता है। तो यदि आप सूचीबद्ध सभी अन्य चीजों को आजमाते हैं, और यह अभी भी कोई भिन्नता नहीं है, तो जानकारी के इन अतिरिक्त बिट्स मदद कर सकते हैं ...


ब्रेकपॉइंट्स में से किसी एक पर राइट क्लिक करने का प्रयास करें और फिर 'स्थान' चुनें। फिर चेक बॉक्स को चेक करें 'स्रोत कोड को मूल संस्करण से अलग करने दें'


मुझे एक समान समस्या का सामना करना पड़ा। मेरे मामले में मैंने WinDbg में उपयोग के लिए Microsoft सर्वर से डाउनलोड करने के लिए _NT_SYMBOL_PATH सेट किया था और ऐसा लगता है कि सेट करते समय, विजुअल स्टूडियो इसका उपयोग किसी भी तरह से अनदेखा करने के लिए नहीं करेगा। उस पर्यावरण चर को हटाने से मेरी समस्या हल हो गई।


मेरे 2 सेंट,

X64 रिलीज मोड (सीपीयू नमूनाकरण) में एक (विजुअल स्टूडियो 2013) डायग्नोस्टिक्स रिपोर्ट प्राप्त करने की कोशिश करते समय मुझे एक ही समस्या हो रही थी और जबकि आवश्यक डीएलएल फ़ाइलों के लिए प्रतीकों को लोड किया गया था, मेरे निष्पादन योग्य के प्रतीक लोड होने में असफल हो जाएंगे।

मैंने सिंबल मेनू में कुछ भी नहीं बदला, मैंने इसके निष्पादन योग्य थ्रेड के प्रॉपर्टी पेजों के भीतर समाधान एक्सप्लोरर में कुछ बदलाव किए, अर्थात्

कॉन्फ़िगरेशन गुण / सामान्य / प्रबंधित वृद्धिशील सक्षम YES को सक्षम करें

विन्यास गुण / डीबगिंग / पर्यावरण को मर्ज करें

कॉन्फ़िगरेशन गुण / सी / सी ++ / YES (/ FR) में ब्राउज़ जानकारी सक्षम करें

कॉन्फ़िगरेशन गुण / लिंकर / YES (/ INCALMENTAL) में वृद्धिशील लिंकिंग सक्षम करें

संपादित करें: यह आखिरी वाला चाल है

....

विन्यास गुण / लिंकर / डीबगिंग / डीबग जानकारी जेस (/ डीईबीयूजी) उत्पन्न करें

....

इसके बाद यह काम करता है और यह प्रतीकों को ठीक से लोड करता है। मुझे यकीन है कि उपर्युक्त में से एक या अधिक ने मेरे लिए चाल की है (हालांकि मुझे बिल्कुल यकीन नहीं है) और बस दूसरों को जानना और इसे आजमा देना चाहते हैं ..

शांति


मेरे मामले में विजुअल स्टूडियो तीसरे पक्ष के पीडीबी की तलाश में था, मेरी मशीन पर, एक ऑप्टिकल ड्राइव का संदर्भ दिया गया। ट्रे में डिस्क के बिना विंडोज़ के बारे में ~ 30 विफल होने में असफल रहा, जिसने बदले में विजुअल स्टूडियो को धीमा कर दिया क्योंकि उसने उस स्थान से पीडीबी लोड करने की कोशिश की थी। मेरे पूर्ण उत्तर में यहां अधिक जानकारी उपलब्ध है: https://.com/a/17457581/85196


reference : social.msdn.microsoft.com

उपरोक्त रेफरी के साथ, मुझे यह समाधान मिला जो उपर्युक्त उत्तरों का सारांश है।

  1. टूल्स -> विकल्प -> डिबगिंग -> सामान्य पर जाएं

  2. "बस मेरा कोड सक्षम करें" के बगल में स्थित चेकमार्क देखें।

  3. टूल्स -> विकल्प -> डिबगिंग -> सिंबल पर जाएं

  4. "..." बटन पर क्लिक करें और कैश किए गए प्रतीकों को संग्रहीत करने के लिए अपने स्थानीय कंप्यूटर पर कहीं भी एक नया फ़ोल्डर बनाएं / चुनें। मैंने अपना "प्रतीक कैशिंग" नाम दिया और इसे दस्तावेज़ों में रखा -> विजुअल स्टूडियो 2012।

  5. "सभी प्रतीकों को लोड करें" पर क्लिक करें और प्रतीकों को माइक्रोसॉफ्ट के सर्वर से डाउनलोड करने की प्रतीक्षा करें, जिसमें कुछ समय लग सकता है। ध्यान दें कि सभी प्रतीकों को लोड करें बटन डिबगिंग के दौरान ही उपलब्ध है।

  6. विजुअल स्टूडियो को दूरस्थ रूप से माइक्रोसॉफ्ट सर्वर से पूछताछ से रोकने के लिए "माइक्रोसॉफ्ट सिंबल सर्वर" के बगल में स्थित चेकमार्क को अनचेक करें।

  7. ओके पर क्लिक करें"।

सभी ब्रेकपॉइंट्स को हटाने का प्रयास करें (डीबग> सभी ब्रेकपॉइंट्स हटाएं)






debug-symbols