.NET स्रोत कोड डीबग करने के लिए .cs फ़ाइलें नहीं ढूँढ सकता


93

मैंने इस MDSN वॉकथ्रू का अनुसरण करके .NET स्रोत को डीबग करने का प्रयास किया । प्रतीक कैश ठीक से सेटअप है, जैसा कि चेक 'Enable .NET फ्रेमवर्क सोर्स स्टेपिंग' है।

लेकिन बाद में, जब भी मैं .NET कोड में कदम रखना चाहता हूं, मुझे प्रासंगिक सीएस फ़ाइल के स्थान को निर्दिष्ट करने के लिए प्रेरित किया जाता है। त्रुटि संदेश है You need to find <filename>.cs to view the source for the current call stack frameऔर The debugger could not locate the source file <filename>.cs

मुझे फ़ाइल के लिए ब्राउज़ करने की पेशकश की गई है (लेकिन मेरे पास यह नहीं है) या एक असंतुष्ट को देखें (लेकिन मुझे ऐसा नहीं चाहिए)।

.NET स्रोत कोड में कदम कैसे करें?

जवाबों:


144

ठीक है, मेरे मामले में मैं .Net फ्रेमवर्क को डीबग करने का प्रयास नहीं कर रहा था, लेकिन मुझे एक ही त्रुटि मिल रही थी: .NET स्रोत कोड डीबग करने के लिए फ़ाइलें नहीं मिल सकती हैं । इसलिए मुझे " टूल्स के लिए सिर्फ मेरे कोड को सक्षम करें" विकल्प के तहत चालू करना था:
उपकरण -> विकल्प -> डिबगिंग -> सामान्य -> ​​बस अपना कोड चुनें

प्रति एमएस डॉक्स:

आप सिस्टम, फ्रेमवर्क और अन्य गैर-उपयोगकर्ता कॉल पर स्वचालित रूप से कदम रखने और कॉल स्टैक विंडो में उन कॉल को संक्षिप्त करने के लिए विज़ुअल स्टूडियो को कॉन्फ़िगर कर सकते हैं।

https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code


मैंने ".NET फ्रेमवर्क सोर्स स्टेपिंग" को सक्षम किया था, जिसने "जस्ट माई कोड" को स्वचालित रूप से अक्षम कर दिया था और इसने मुझे पागल कर दिया कि जब तक मुझे यह पता नहीं चलता, मैं कदम नहीं रख सकता। तो बाहर देखने के लिए विकल्प चिह्नित करते समय देखें कि क्या अक्षम हो जाता है :)
एलन वार्डन

1
मुझे लगा कि मैंने पहले इसे सक्षम कर लिया है। मैंने जाकर जाँच की, और निश्चित रूप से, यह जाँच नहीं की गई थी। धन्यवाद!
संयोग

1
महान जवाब और मेरी समस्या तय है लेकिन यह फ़ाइल को छोड़ देगा और इसमें कदम नहीं रखेगा। यदि लक्ष्य फ़ाइल में है तो दूसरे समाधान की आवश्यकता हो सकती है।
वर्ड

53

जाँच Tools-> -> Options-> Debugging-> General- Enable source server supportरहस्यमय ढंग से सब कुछ काम किया। मुझे आशा है कि आपके लिए भी यही सच है


19
भगवान, यह काम क्यों नहीं करता है? ढांचा कोड में कदम रखने का प्रयास करते हुए अभी भी स्रोत कोड फ़ाइल में ब्राउज़ करने के लिए प्रेरित किया जा रहा है।
gravidThoughts

29

इसमें मुझे एक घंटा भी लगा। मैंने सेटिंग -> टूल्स -> आयात और निर्यात सेटिंग्स -> सभी सेटिंग्स रीसेट करके इसे अंत में तय किया


इसने काम कर दिया! रीसेट करने के बाद, मैं सिर्फ 'विकल्प-> डिबगिंग' सेटिंग को अनदेखा करता हूं और जो मैंने निर्यात किया है उसे आयात किया। अच्छा !!
मिस्टिक लिन

वीएस 2015 प्रो में काम किया, निश्चित रूप से मेरे पास कोई कस्टम सेटिंग्स नहीं है जो मुझे चाहिए क्योंकि यह उन्हें उड़ा देगा।
RandomUs1r

मेरी सभी सेटिंग्स को रीसेट करने से मेरे लिए यह भी हल हो गया ... क्या सिरदर्द है। मेरे पास डिबगिंग के लिए कई कस्टम रंग सेटिंग्स हैं, उन्हें एक अलग फाइल में सहेजना था - जिसका मैं अब उपयोग नहीं कर सकता, जीआरआर।
एस्प्रेसोबींस

मैं सेटिंग्स को रीसेट करता हूं और विजुअल स्टूडियो 2017 को फिर से शुरू करता हूं। रीसेट करने के बाद फिर से शुरू किया गया।
सिद्धार्थ

मैंने वीएस अल्टिमेट 2013 के साथ विजुअल बेसिक .NET के लिए यह रीसेट किया था क्योंकि यही वह है जिसके साथ मैं कोडिंग कर रहा हूं और इस रीसेट ने अजीब डेटाटाइम बंद कर दिया है। त्रुटि संदेश नहीं मिल सकता है।
जॉन एचएच

7

यहाँ जवाब सभी वास्तव में कदम के बजाय स्रोत कोड को अनदेखा / टालने की बात करते हैं।

@JBSnorroसही रास्ते पर है, लेकिन समस्या यह है कि Microsoft आपके द्वारा सामना किए जा सकने वाले सभी .NET प्रतीकों / स्रोत को प्रकाशित नहीं करता है। मुझे नहीं पता कि यह जानबूझकर उनकी ओर से है लेकिन एमएस स्रोतों में कदम रखने के लिए उन्हें हर विधानसभा के हर संस्करण को प्रकाशित करने की आवश्यकता है जो एक बड़ा शैक्षणिक कार्य है।

Tools-> Options-> Debugging-> General-> Enable source server supportकई मामलों में काम करेगा, लेकिन मैंने उदाहरण के mscorlib.dllलिए पाया 4.6.1 के लिए प्रतीकों और / या विघटित स्रोत की कमी थी। इसलिए मैं उदाहरण के रूप में Dictionary.csया जैसे सामान्य स्रोत कोड में कदम नहीं रख सका Task.csचूंकि एमएस सिंबल सर्वर का सोर्स और सिंबल हर समय बदलता रहता है। जब आप इसे पढ़ते हैं, तब तक मेरा मुद्दा हल हो सकता है?

जब मैं Jetbrain के राइडर में एक ही समाधान डिबग करता हूं, तो मैं बिना किसी समस्या के प्रत्येक .NET असेंबली में प्रत्येक वर्ग के माध्यम से देख और कदम रख सकता हूं। हालांकि वीएस में मैं केवल कुछ वर्ग में कदम रख सकता हूं लेकिन दूसरों में नहीं?

यदि आप वास्तव में सभी .NET स्रोत कोड में कदम रखने के लिए प्रतिबद्ध हैं, तो आप Jetbrain के DotPeek का उपयोग कर सकते हैं और .NET असेंबली को अपनी डिस्क पर वास्तविक .cs फ़ाइलों के लिए विघटित कर सकते हैं। फिर जब आप यह देखते हैं,

स्रोत कोड का उदाहरण नहीं मिला

अब आप अपनी डिस्क को उस स्रोत कोड में ब्राउज़ कर सकते हैं जिसे आपने DotPeek का उपयोग करके विघटित किया है। बस सुनिश्चित करें कि आपने उसी असेंबली संस्करण को विघटित कर दिया है जिसे आप अपनी परियोजना में संदर्भित करते हैं। यदि नहीं, तो प्रतीक सही स्रोत लाइन संख्या के साथ मेल नहीं खा सकते हैं।

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

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


7

मेरे लिए समस्या हल करने से पहले समाधान को साफ करें।

बस नेविगेट करें और इस पर क्लिक करें:

  1. Build-> Clean Solution
  2. Build-> Build Solution (Ctrl + Shift + B)

7

मैंने ऊपर से सभी उत्तरों की कोशिश की है और कुछ भी काम नहीं किया है।

इसने मेरे लिए इसे हल किया:

Debug -> Delete all Breakpoints

और इसने समस्या हल कर दी! इस मुद्दे को पैदा करने वाली बहुत सारी चीजें।


JIT डिबगर सेटिंग्स के हर एक संयोजन को आज़माने के बाद, मेरे समाधान को साफ़ करना, VS2019 को सैकड़ों बार फिर से शुरू करना, इसकी मरम्मत करना, मेरी सभी सेटिंग्स को रीसेट करना, आदि, आदि।, यह सभी ब्रेकप्वाइंट को हटा दिया गया जिससे मेरी "स्रोत नहीं मिली" त्रुटि दूर हो गई। , जब एक XUnit परीक्षण डिबग करने का प्रयास किया गया। AAAAAAAAAAARGH। और आपका शुक्रिया @HomeMade
Ted

एक अतिरिक्त कदम के रूप में - मुझे अपने समाधान को साफ-सुथरा और पुनर्निर्मित करना पड़ा - जिससे यह मेरे लिए काम कर सके।
नरेन

1

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


इसने मेरी मदद की। मैंने 2019 स्थापित किया और सब कुछ फिर से काम करता है। शायद मैंने अपनी सेटिंग गड़बड़ कर दी।
मो डी जेनेसिस

0

यदि त्रुटि "nullable.cs" या किसी अन्य मुख्य स्रोत फ़ाइल की तलाश से है:

आप विशिष्ट मॉड्यूल का उपयोग करके Debug -> Options -> Debugging -> Symbolsऔर फिर तल पर प्रतीकों को अक्षम कर सकते हैं Specify Excluded Modules

यह उन मामलों के लिए उपयोगी है जहां आप अन्य विधानसभाओं में कदम रखने के लिए "जस्ट माय कोड" को निष्क्रिय करना चाहते हैं, जिनके लिए आपके पास पीडीबी है। मुझे लगता है कि दृश्य स्टूडियो प्रतीकों के साथ आता है, mscorlib.dllलेकिन स्रोत को शामिल नहीं करता है इसलिए कभी-कभी चीजों में कदम रखने से "nullable.cs" या कुछ अन्य कोर स्रोत फ़ाइल दिखाई देगी।



0

मुझे यह त्रुटि एक प्रोजेक्ट में NuGet पैकेज को अपडेट करते समय मिली, जबकि समाधान की अन्य परियोजनाओं में इसे अपडेट करने के लिए गायब है।

समाधान के NuGet प्रबंधक के पास जाना और समेकित फ़ंक्शन का उपयोग करना, जो समाधान में सभी परियोजनाओं को एक ही संस्करण का उपयोग करना सुनिश्चित करता है, मेरे लिए समस्या का समाधान किया।


0

मेरे मामले में मैंने कक्षा का नाम बदलकर घाव कर दिया। शायद यह किसी अन्य मॉड्यूल के साथ भ्रमित हो रहा था। एक बार जब मैंने इसका नाम बदल दिया तो मैं इसमें कदम रख सकता था।

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