2010-05-24 5 views
5

मैं अपने कोड में एक त्रुटि खोजने की कोशिश कर रहा हूं। समस्या यह है कि लूप में त्रुटि होती है। लेकिन लूप लगभग 500 गुना तेज करता है। लूप के माध्यम से क्लिक करने के बजाय। क्या लूप की एक निश्चित राशि को छोड़ना संभव है ??डीबग के दौरान लूप की एक अनियंत्रित राशि को छोड़ना संभव है ?? विजुअल स्टूडियो

+0

क्या आपने कभी इसे सफलतापूर्वक हल किया है? क्या आपको अभी भी इसके साथ मदद चाहिए? – jcolebrand

उत्तर

9

वीएस आपको स्कोप में मौजूद चर के संदर्भ में ब्रेकपॉइंट पर एक शर्त सेट करने की अनुमति देता है। तो, आपके मामले में, आप लूप काउंटर के खिलाफ परीक्षण कर सकते हैं।

+3

ठीक है, मैंने इसे पाया। बस ब्रेक पॉइंट पर राइट क्लिक करें और हिट गिनती – numerical25

2

यहाँ एक कच्चे जवाब है:

if ((iter % 10) == 0) { 
    int stop = 1; 
} 

फिर से एक ब्रेक अंक की जगह "पूर्णांक बंद = 1;"। शायद, वीएस में एक बेहतर तरीका है लेकिन मैं समय-समय पर यही करता हूं।

+0

+1 का चयन करें जो आईडीई कार्यान्वयन अज्ञेय समाधान है। – Elijah

+0

काफी। चेक-इन करने से पहले कोड को बाहर निकालें ताकि आप यह सुनिश्चित न करें कि आप thedailywtf बनाते हैं। – Joshua

+0

यदि आप ऐसा करना चाहते हैं, तो उस कोड को '#ifdef DEBUG'/'endif' के साथ घेर लें ताकि यह आपके उत्पादन निर्माण का हिस्सा न हो। –

1

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

+0

मुझे यकीन नहीं है कि वह यही खोज रहा है लेकिन कुछ प्रोग्रामर को वैसे भी पता होना चाहिए। –

+0

कीवर्ड * चाहिए *, हमें कई चीजें जाननी चाहिए ... –

0

बस >> से नीचे बताए गए लूप में ब्रेकपॉइंट डालें। ऐसी स्थिति तक पहुंचने के लिए F5 का उपयोग करें जो विफलता का कारण बनता है ताकि आप व्यक्तिगत पास के माध्यम से लूप कर सकें। कैसे पता चलेगा कि ब्रेक कहां है आप पर निर्भर है।

for (int i = 0; i < LOOPMAX; i++) { 
>>some_proc(i); 
    some_other_proc(i); 
    some_third_proc(i); 
} 

F5 तक यह अगले ब्रेकपाइंट (कोड के माध्यम से अगले पास) के लिए हो जाता है यह उनका प्रदर्शन जारी रहेगा दबाकर। निश्चित रूप से आपको इसे 500 बार मारना होगा, लेकिन यह कुछ हज़ार बार धड़कता है। ऊपर @Troubador कोड के साथ इसे संयोजित करें।

पीएस: यह उत्तर वास्तव में सरल है, लेकिन कुछ लोग नहीं जानते कि वे ऐसा कर सकते हैं।

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