2010-05-17 13 views
10

यहां परिदृश्य है: मैंने एक विधि की शुरुआत में ब्रेक पॉइंट डाला है जिसे मैं डीबग करना चाहता हूं ... सबसे पहले कहें कि इस विधि में भाग 1 है जिसे मैं कदम उठाना चाहता हूं कुछ कोडों में/ऊपर ... अच्छा ... उसके बाद एक लूप है कि मुझे इसमें कदम उठाने में कोई दिलचस्पी नहीं है, मैं सिर्फ डीबगर को बताना चाहता हूं कि हे आप स्वयं इस लूप को 10 बार चलाते हैं और बस मुझे अपने कोड के भाग 2 पर जाने दें जो इसके बाद शुरू होता है जबकि लूप, क्या यह डिबगिंग विकल्पों के साथ ऐसा करना संभव है?डीबग मोड में एक लूप पर कूदते

तो कुछ इस तरह:

BreakPoint : MyMethod 
{ 
Part One of the code : Ok, lets debug it 

While Loop : I do not care, Do not want to debug it 

Part Two of the code: Yes, I want to debug it too 
} 

उत्तर

20

आप को चलाने के लिए, और क्लिक करें "कर्सर करने के लिए चलाने के लिए" चाहते कोड की पंक्ति पर राइट क्लिक करें, या आप पाश के बाद एक दूसरा ब्रेकप्वाइंट सेट और बस कर सकते हैं चलाते हैं।

संपादित करें: आपने यहां दो प्रश्न पूछे हैं। उपर्युक्त विधि आपको पूरे लूप पर कदम उठाने देगी, भले ही यह कितनी पुनरावृत्ति हो। यदि आप केवल लूप बॉडी के माध्यम से 10 बार जाना चाहते हैं, तो लूप के अंतिम विवरण पर ब्रेकपॉइंट जोड़ें, उस लाइन पर राइट-क्लिक करें, "ब्रेकपॉइंट" पर क्लिक करें, फिर "गिनती हिट करें" पर क्लिक करें, फिर "हिट गिनती के बराबर बराबर है "और दिखाई देने वाले बॉक्स में 10 डाल दें। यह लूप को 10 बार निष्पादित करने के बाद प्रोग्राम को रोक देगा (आपको वर्तमान कथन को मैन्युअल रूप से पुनर्स्थापित करना होगा), लेकिन अगर लूप 10 गुना से कम निष्पादित करता है तो नहीं तोड़ देगा (जैसा कि मैंने ऊपर सुझाया गया लूप के बाद अतिरिक्त ब्रेकपॉइंट जोड़ें)।

+0

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

+0

"रन टू कर्सर" के लिए शॉर्टकट: Ctrl-F10। – AbleArcher

1

बस भाग दो पर ब्रेकपॉइंट डालें। डिबगिंग भाग 1 को समाप्त करने के बाद, रन/एफ -5 हिट करें, और वीएस अगले ब्रेकपॉइंट पर चलेगा।

3

आप while लूप से पहले और बाद में ब्रेकपॉइंट डाल सकते हैं।

पहले बिंदु पर, अगले ब्रेकपॉइंट पर "जारी रखें" पर F5 दबाएं।

1

लूप के बाद ब्रेक पॉइंट जोड़ें और इसे उस ब्रेक पॉइंट में जारी रखें।

1

नहीं, मैं आप क्या वर्णन कर रहे हैं कर सकते हैं, अपने ही विकल्प उन अन्य पोस्टर द्वारा वर्णित हैं, यह शांत हालांकि :(

3

ऐसा नहीं होगा विश्वास नहीं है (के रूप में, एक पाश पर अमल 10 ।

http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepperboundaryattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx

एच: बार), लेकिन आप कुछ बहुत अपने वांछित व्यवहार के पास इन MSDN लिंक में देखो प्राप्त करने में सक्षम हो सकता है ओपे मदद करता है!

+0

अच्छी चीजें जानना, धन्यवाद सर। – Bohn

1

C# Preprocessor Directives

BreakPoint : MyMethod 
{ 
Part One of the code : Ok, lets debug it 

#if !DEBUG 
While Loop : I do not care, Do not want to debug it 
#endif 

Part Two of the code: Yes, I want to debug it too 
} 
+3

यह बस डिबगिंग समय पर कोड को छोड़ देता है, मुझे नहीं लगता कि ओपी चाहता है। – Dykam

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