दृश्य स्टूडियो लोडिंग प्रतीक


166

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

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

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

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

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

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

यहां छवि विवरण दर्ज करें


3
मैंने धागे में हर उत्तर को बिना किसी भाग्य के आज़माया है।
जोहान लार्सन

3
सामान्य रूप से प्रतीकों को कैश किया जाना चाहिए और लोड करने के लिए बहुत कम समय नहीं लेना चाहिए, केवल एक बार जब आप प्रतीक को लोड करते हुए देखेंगे तो यह दिखाई देगा कि क्या प्रतीक Microsoft प्रतीक सर्वर से लोड हो रहे हैं जो बहुत धीमी गति से है (जैसे हमेशा बहुत धीमी गति से लेकिन धीमी गति से कोई भी नहीं कम), इसलिए इस समस्या को ठीक करने के लिए एक अच्छा तरीका है और प्रतीक कैश को हटाना है, बस डीबग पर जाएं -> विकल्प -> डिबगिंग -> प्रतीक और खाली प्रतीकों कैश पर क्लिक करें, अगर यह काम नहीं करता है पूरी तरह से एक और समस्या हो सकती है, उम्मीद है कि किसी को यह देखकर फायदा होगा कि सवाल 3 साल पुराना है: (
daniel

जवाबों:


266

डीबग -> सभी ब्रेकपॉइंट हटाएं ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) उसके बाद आप उन्हें फिर से उपयोग कर सकते हैं, लेकिन यह करें एक बार। यह किसी प्रकार के "अमान्य" ब्रेकपॉइंट को भी हटा देगा और फिर प्रतीकों को लोड करना फिर से तेज़ होगा। मैं दिनों से इस मुद्दे का पीछा कर रहा था :(


4
विज़ुअल वेब डेवलपर 2010 एक्सप्रेस उपयोगकर्ता CTRL + SHIFT + F9 दबा सकते हैं और एक संकेत "क्या आप सभी ब्रेकप्वाइंट हटाना चाहते हैं?" दिखाई देगा। आपको कम से कम एक सक्रिय ब्रेकपॉइंट की जरूरत है (यह सुनिश्चित नहीं है कि समस्याग्रस्त पृष्ठभूमि ब्रेकपॉइंट्स की गणना इतनी निर्धारित है)। धन्यवाद! बहुत तेजी से अब ...
Cymen

क्या स्टार है! बहुत बहुत धन्यवाद।
user489998

वास्तव में यह काम करता है! अतुल्य! क्या किसी ने पहले ही Microsoft को इस स्पष्ट बग की सूचना दी है?
real_yggdrasil

आपकी एक शुरुआत, यह मुझे दिनों के लिए पागल कर रहा है। बहुत - बहुत धन्यवाद!
मार्केपसी

खैर, यह अप्रत्याशित था! यह वास्तव में काम किया। आपने मेरा दिन बचाया, बहुत बहुत धन्यवाद!
tmatuschek

132

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

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

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


"जस्ट माई कोड" विकल्प विजुअल स्टूडियो के कुछ एक्सप्रेस संस्करणों में विकल्प संवाद में उपलब्ध नहीं है (यह विजुअल C # 2010 एक्सप्रेस में है, हालांकि), लेकिन इसे अन्य माध्यमों से बदला जा सकता है: मैं 'जस्ट माई कोड' को कैसे निष्क्रिय कर सकता हूं 'विज़ुअल बेसिक 2005 एक्सप्रेस में?
पीटर मॉर्टेंसन

3
यह वह है जो इसे मेरे लिए तय करता है ... "सभी ब्रेकप्वाइंट हटाएं" उत्तर नहीं।
मार्क ब्रिटिंगम

यह दृश्य स्टूडियो में सबसे खराब विकल्प के बारे में है। केवल लोडिंग सिंबल को अक्षम करना बेहतर है ताकि आप अभी भी अपवाद फेंकता और स्टैक फ़्रेम देख सकें जो कि केवल प्रतीकों को याद कर रहे हैं। (बस नाम के बजाय संख्या पढ़ने में कुछ मुश्किल है)। बेशक, मैं आमतौर पर वेबसाइट कोड पर काम करता हूं, इसलिए मेरे नीचे बहुत सारे आईआईएस हैं जो विफल हो सकते हैं। आम तौर पर सिर्फ डेटा के स्रोत के रूप में Microsoft (और सभी दूरस्थ) प्रतीक सर्वरों को रद्द करना काम करेगा।
ईब्रोब

तुमने मेरा आधा दिन बचा लिया ...! : D
वैभव देशमुख

43

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

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

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


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

1
हम्म, मैं तो नहीं जानता। आपको इसे डिबग करने के लिए अपने कोड के लिए प्रतीकों को लोड करने की आवश्यकता है, इसलिए मुझे नहीं लगता कि आप इसे पूरी तरह से बंद करना चाहते हैं। मुझे लगता है कि मैं मॉड्यूल विंडो को देखने के लिए देखूंगा कि कौन से प्रतीकों को लोड किया गया था, जो आपको वास्तव में ज़रूरत है और जो आप नहीं चाहते हैं उनके लिए अपने प्रतीक कैश से .pdbs हटा दें?
Rup

1
'उपयोग Microsoft प्रतीक सर्वर' की जाँच करें, अपना कोड एक बार चलाएं, और फिर सभी प्रतीक कैश में हैं। अब आप गति बढ़ाने के लिए बॉक्स को अनचेक कर सकते हैं।
जॉन ktejik

1
उपकरण में Microsoft प्रतीक सर्वर को अक्षम करना -> विकल्प -> डिबगिंग -> प्रतीक ने मेरे लिए इसे निर्धारित किया है। इससे पहले कि मैं डिबगिंग शुरू करने के लिए 30 सेकंड इंतजार कर रहा था। अब यह सिर्फ एक या दो सेकंड है।
माइक चेम्बरलेन

41

बस यह समस्या थी।

मैंने इसे नेविगेट करके इसे ठीक किया:

उपकरण -> विकल्प -> डिबगिंग -> प्रतीक

फिर प्रतीक फ़ाइल (.pdb) स्थानों के लिए सभी गैर-स्थानीय स्रोतों को अनचेक करना

जैसे Microsoft प्रतीक सर्वर और msdl.microsoft.com/download/symbols


23

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


इसने मेरे लिए भी इस समस्या को हल कर दिया (मुझे लगता है कि अपवोट की कम संख्या उन लोगों की कम संख्या के कारण है जिन्होंने इस चर को सेट किया है ... धन्यवाद!
अनसमुंड एल्डह्यूसेट

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

16

आप Visual Studio डीबगिंग / लोडिंग के लिए निम्न उत्तर की कोशिश कर सकते हैं :

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

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

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

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

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

  6. Visual Studio को Microsoft सर्वरों को दूर से देखने से रोकने के लिए "Microsoft Symbol Servers" के बगल में स्थित चेक को UNCHECK करें।

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

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

इन्हें भी देखें : प्रतीकों को लोड करते समय डीबग मोड में विजुअल स्टूडियो 2015 RC1 हैंग


6

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

  • Visual Studio को पुनरारंभ करने से यह अस्थायी रूप से ठीक करने के लिए लग रहा था।
  • "एक्स" बटन पर क्लिक करके दृश्य स्टूडियो को बंद करते समय डिबगिंग का कारण बनता है "क्या आप डीबगिंग को रोकना चाहते हैं?" संदेश बॉक्स पॉप अप करने के लिए; जब यह संदेश बॉक्स ऊपर होता है, तो प्रतीक साधारण गति से लोड होते हैं। एक बार सभी प्रतीक लोड हो जाने के बाद, आप पास को रद्द करने के लिए "नहीं" पर क्लिक कर सकते हैं।

3
इस पागल वर्कअराउंड के लिए धन्यवाद ('आप डिबगिंग को रोकना चाहते हैं' संदेश के साथ)। मैंने पहले अन्य उत्तरों की कोशिश की, लेकिन अभी तक केवल लाल "एक्स" और 'क्या आप चाहते हैं ...' चाल मदद कर रही है। धन्यवाद, मैं अपनी पवित्रता खो रहा था ...
pestophagous

2
@que: हे, तुम स्वागत है! मैंने इसे दुर्घटना से खोजा। ऐसा लगता है कि वीएस का एक अलग संदेश लूप है जो उस मोडल डायलॉग के लिए जाता है, इसलिए जब भी यह बिना किसी कारण के सुस्त हो जाता है तो संवाद कभी-कभी मदद करता है :-)
कैमरन

6

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

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

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


2

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


2

मुझे भी यही समस्या थी और सिंबल लोडिंग को बंद करने के बाद भी, विजुअल स्टूडियो में मॉड्यूल लोडिंग बहुत धीमी थी।

इसका समाधान एंटीवायरस सॉफ़्टवेयर को बंद करना था (मेरे मामले में NOD32) या इससे बेहतर, इसके अपवादों को जोड़ना ताकि यह उन रास्तों को नज़रअंदाज़ कर दे, जिनसे आपकी प्रक्रिया असेंबली लोड कर रही है (मेरे मामले में यह GAC फ़ोल्डर और अस्थाई ASP है) .NET फ़ाइलें फ़ोल्डर)।


2

मेरे 2 सेंट,

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

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

कॉन्फ़िगरेशन गुण / सामान्य / सक्षम इंक्रीमेंटल बिल्ड YES करने के लिए

विन्यास गुण / डिबगिंग / मर्ज एनवायरनमेंट टू नो

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

कॉन्फ़िगरेशन गुण / लिंकर / सक्रिय वृद्धिशील लिंक हाँ (/ INCREMENTAL) के लिए

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

....

कॉन्फ़िगरेशन गुण / लिंकर / डिबगिंग / उत्पन्न डीबग जानकारी हां (/ DEBUG) के लिए

....

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

शांति


1

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


1

दृश्य स्टूडियो 2017 डिबग प्रतीक "स्पीड-अप" विकल्प, यह मानते हुए कि आप पहले से ही विकल्प-अनुकूलन पर पागल नहीं हुए हैं:

  1. पर Tools -> Options -> Debugging -> Symbols
    एक। "Microsoft प्रतीक सर्वर" विकल्प को सक्षम करें
    b। "खाली प्रतीक कैश" पर क्लिक करें
    । स्पॉट, जैसे C:\dbg_symbolsया खोजने के लिए एक आसान करने के लिए अपने प्रतीक कैश सेट करें%USERPROFILE%\dbg_symbols
  2. डिबग को फिर से चलाने के बाद, इसे सभी प्रतीकों को एक बार शुरू-से-अंत तक, या जितना संभव हो उतना संभव लोड करने दें।

1 ए और 2 सबसे महत्वपूर्ण चरण हैं। 1 बी और 1 सी आपके प्रतीकों पर नज़र रखने में आपकी मदद करने के लिए सिर्फ सहायक परिवर्तन हैं।

आपके ऐप द्वारा कम से कम एक बार सभी प्रतीकों को लोड करने के बाद और डिबगिंग समय से पहले समाप्त नहीं हुई, उन प्रतीकों को अगली बार रनिंग रन से जल्दी लोड किया जाना चाहिए।

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


0

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


0

मेरे लिए काम करने वाली एकमात्र चीज़ कोड प्रकार बदल रही थी।

में प्रक्रिया को संलग्न खिड़की, मैं बदल करने के लिए संलग्न करें: करने के लिए चयन स्वचालित रूप से डिबग करने के लिए कोड के प्रकार का निर्धारण , फिर मेरे breakpoints हिट थे।

मेरे पास पहले केवल मूल निवासी था कोड चुना था।


0

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

यह पता चला है कि मैंने डिबग विकल्पों में कुछ "कमांड लाइन तर्क" जोड़े हैं, और मापदंडों में से एक अमान्य है (मुझे कुछ मूल्यों में पारित होने वाला है)। यहां छवि विवरण दर्ज करें

अतिरिक्त पैरामीटर को हटाने के बाद, यह फिर से काम करना शुरू कर देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.