2012-07-02 10 views
9

मैं foreach लूप डीबग कर रहा हूं जो 1000 से अधिक बार फिर से चालू होगा - इसलिए मुझे केवल एक विशेष आइटम के लिए लूप के भीतर ब्रेकपॉइंट चाहिए।सशर्त सी # ब्रेकपॉइंट?

तो ...

foreach(Employee employee in employees) 
{ 
//DO SOMETHING 
//BREAK HERE WHEN employee.Id == '2342' 
//DO SOMETHING ELSE 
} 

मैं एक If बयान और उसके भीतर कुछ डमी कोड लिख सकते हैं और इसे उस तरह से तोड़ने के लिए है? यही एकमात्र तरीका है?

उत्तर

4

बस पिछले जवाब को जोड़ने। उपयोग सशर्त ब्रेकप्वाइंट।

enter image description here

आप की तरह शर्त निर्दिष्ट कर सकते हैं
enter image description here

+0

मैं इस एक के लिए सही जवाब को बदलने के लिए किया है। सबसे वर्णनात्मक और सबसे प्रासंगिक। –

+2

> 1000 पुनरावृत्तियों के साथ, leppie का जवाब बेहतर है। जबकि आपको ऐसा करने के लिए कोड संपादित करना है, यह बहुत तेज़ है। http://stackoverflow.com/a/11290503/282143 – Eccentropy

21
if (employee.Id == '2342') Debugger.Break(); 

वैकल्पिक रूप से, आप वीएस में एक सशर्त ब्रेकपॉइंट सेट कर सकते हैं, लेकिन मेरे अनुभव से, यह अविश्वसनीय रूप से धीमा है।

+0

नीचे क्यों downvote? – leppie

+0

धन्यवाद, यह असाधारण रूप से सहायक था। – Azrael

2

आप विजुअल स्टूडियो में सशर्त ब्रेकपॉइंट्स का उपयोग कर सकते हैं।

ब्रेकपॉइंट पर राइट क्लिक करें और सशर्त चुनें और फिर अपने खंड में डाल दें।

8

यदि आप वीएस के एक्सप्रेस संस्करणों के अलावा कुछ भी उपयोग कर रहे हैं तो ब्रेकपॉइंट पर राइट क्लिक करें और सेट कंडीशन पर क्लिक करें।

व्यक्तिगत रूप से मैं इस दृष्टिकोण का उपयोग करता हूं क्योंकि मैं इसे डीबग करने के लिए अपने कोड को संशोधित करने के लिए खराब अभ्यास मानता हूं।

नहीं तो आप इसे अपने तरीके से करने को मजबूर कर रहे हैं।

3

यूआई के माध्यम से सशर्त ब्रेकपॉइंट के साथ एक वीएस डीबगर का उपयोग करें।

सबसे आसान और सबसे तेज़ रास्ता इमो।

The Ultimate Visual Studio Tips and Tricks Blog

+6

सबसे तेज़? यह कोड में एक शर्त से 1000 गुना धीमी है। – leppie

+2

यह * अत्यंत * व्यक्तिपरक है। मैं, व्यक्तिगत रूप से, उन्हें हर दिन उपयोग करता हूं और कुछ तेज़ी से ढूंढता हूं, फिर कुछ कोड के साथ अपने कोड को "डार्टिंग" करता हूं। अगर मैं अपने उत्पादन कोड के अंदर DEBUG कोड लिखने से बच सकता हूं, तो मैं ऐसा करता हूं। – Tigran

+0

@leppie मुझे लगता है कि पता नहीं था, लायक पर विचार अगर आप कुछ मिलियन रिकॉर्ड चला रहे हैं - धन्यवाद! – Liath

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

  • कोई संबंधित समस्या नहीं^_^