Visual Studio में सशर्त विराम बिंदु कैसे सेट करें?


133

विजुअल स्टूडियो में सशर्त विराम बिंदु निर्धारित करने का एक आसान तरीका है?

यदि मैं एक ब्रेकपॉइंट को केवल हिट करना चाहता हूं जब एक चर का मूल्य कुछ हो जाता है, तो मैं यह कैसे कर सकता हूं?


11
ध्यान दें कि एक्सप्रेस संस्करण में यह कार्यक्षमता नहीं है।
अलेक्सेई लेवेनकोव

1
मैं एक्सप्रेस 2015 का उपयोग कर रहा हूं और इसमें सशर्त विराम
बिंदुओं

1
2017 के सामुदायिक संस्करण में सशर्त विराम बिंदु भी हैं
PentiumPro200

जवाबों:


174

हमेशा की तरह एक ब्रेकपॉइंट सेट करें। इसे राइट क्लिक करें। शर्त पर क्लिक करें।


1
वीएस 2015 में आपको ब्रेकपॉइंट पर मंडराने और परिस्थितियों को सेट करने के लिए गियर आइकन पर क्लिक करने की आवश्यकता है
mark.monteiro

आपका मतलब है, राइट क्लिक, कंडीशन सेट करें, "ब्रेकपॉइंट के लिए कंडीशन फेल हो गई" एरर .. आपने नहीं किया?
टॉबी कॉल्क

1
उत्तर में सशर्त बयानों के लिए वाक्यविन्यास या एक जानकारीपूर्ण लिंक भी शामिल होना चाहिए।
एंड्रयू

50

जब आप एक्सप्रेस संस्करण का उपयोग कर रहे हैं तो आप यह कोशिश कर सकते हैं:

#if DEBUG
    if( fooVariable == true )
        System.Diagnostics.Debugger.Break();
#endif

अगर बयान यह सुनिश्चित करता है कि रिलीज बिल्ड ब्रेकअप में मौजूद नहीं होगा।


3
यह एक महान प्रदर्शन / समय की बचत लाभ है। मैं मेरा (केवल लगभग 3.5 मिलियन) के एक कार्यक्रम में हर संभावित int 'id' के माध्यम से पुनरावृत्ति कर रहा था, जिसमें केवल कुछ सेकंड लगते हैं। मैं सशर्त ब्रेकपॉइंट का उपयोग करने की कोशिश कर रहा था, लेकिन चूंकि यह एक सशर्त शाखा में नहीं था, इसलिए इसने निष्पादन की गति को उस बिंदु तक धीमा कर दिया, जहां कुछ मिनटों के बाद मैं सिर्फ डिबग सत्र समाप्त कर दूंगा। संकलित विराम बिंदु का उपयोग करके इसे तात्कालिक बना दिया।
गोल्डफिश सैंडविच

35

दृश्य स्टूडियो सशर्त ब्रेकप्वाइंट के लिए बहुत सारे विकल्प प्रदान करता है:

इनमें से किसी को भी सेट करने के लिए

  1. एक ब्रेकपॉइंट सेट करें।
  2. ब्रेकपॉइंट पर राइट-क्लिक करें, और पॉपअप मेनू में आप एक विकल्प चुनते हैं जो आपको सूट करता है।

ये विकल्प इस प्रकार हैं:

  • आप एक कोड अभिव्यक्ति के आधार पर एक शर्त सेट कर सकते हैं जिसे आप आपूर्ति करते हैं ( पॉपअप मेनू से स्थिति का चयन करें )। उदाहरण के लिए, आप इसे foo == 8या कुछ अन्य अभिव्यक्ति निर्दिष्ट कर सकते हैं ।
  • एक निश्चित संख्या में हिट होने के बाद आप ब्रेकपाइंट को ट्रिगर बना सकते हैं। ( पॉपअप मेनू से हिट काउंट का चयन करें )। यह खेलने के लिए एक मजेदार विकल्प है क्योंकि आप वास्तव में एक निश्चित हिट काउंट पर ब्रेकिंग तक सीमित नहीं हैं, लेकिन आपके पास कुछ अन्य परिदृश्यों के लिए भी विकल्प हैं। संभावनाओं का पता लगाने के लिए मैं इसे आपके पास छोड़ दूंगा।
  • आप प्रक्रिया आईडी, थ्रेड आईडी और मशीन के नाम पर फ़िल्टर सेट कर सकते हैं ( पॉपअप मेनू से फ़िल्टर का चयन करें )


9
  1. लाइन पर ब्रेकपॉइंट सेट करें
  2. लाल गेंद पर राइट क्लीक
  3. संघनित्र विराम बिंदु
  4. सेटअप की स्थिति

8

वास्तविक स्थिति लिखना मुश्किल हिस्सा हो सकता है, इसलिए मैं इसकी ओर रुख करता हूं

  1. एक नियमित ब्रेकपॉइंट सेट करें
  2. कोड को तब तक चलाएं जब तक कि ब्रेकपॉइंट पहली बार हिट न हो जाए।
  3. अपनी अभिव्यक्ति का परीक्षण करने के लिए तत्काल विंडो (डिबग> विंडोज> तत्काल) का उपयोग करें
  4. ब्रेकपॉइंट पर राइट-क्लिक करें, कंडीशन पर क्लिक करें और अपनी अभिव्यक्ति में पेस्ट करें

तत्काल खिड़की का उपयोग करने के लाभ:

  • इसमें IntelliSense है
  • आप यह सुनिश्चित कर सकते हैं कि जब अभिव्यक्ति का मूल्यांकन किया जाता है तो अभिव्यक्ति में चर दायरे में होते हैं ।
  • आप सुनिश्चित कर सकते हैं कि आपकी अभिव्यक्ति सही या गलत है

यह उदाहरण तब टूटता है जब कोड "सेटिंग" नाम के साथ एक तालिका का जिक्र होता है:

table.GetTableName().Contains("Setting")

5

आप सामान्य रूप से एक ब्रेकपॉइंट बनाएँ, लाल बिंदु पर राइट क्लिक करें और "कंडीशन" चुनें।


4
  1. हमेशा की तरह एक ब्रेकपॉइंट सेट करें
  2. ब्रेकपॉइंट पर राइट क्लिक करें और कंडीशन सिलेक्ट करें
  3. आपको "ब्रेकपॉइंट कंडीशन" कहने वाला एक डायलॉग दिखाई देगा
  4. फ़ील्ड में एक शर्त रखें जैसे "i == 5"

ब्रेकपाइंट केवल 5 वर्ष की आयु में हिट हो जाएगा।


4
  1. हमेशा की तरह एक ब्रेकपॉइंट सेट करें।
  2. ब्रेकप्वाइंट मार्कर पर राइट-क्लिक करें
  3. "कंडीशन ..." पर क्लिक करें
  4. एक शर्त लिखें, आप चर नामों का उपयोग कर सकते हैं
  5. या तो "सच है" या "बदल गया है" का चयन करें

4

विजुअल स्टूडियो 6.0 पर

Alt+ F9!!!


1
-1) यह वीएस 2012 में काम नहीं करता है 2) इस सवाल के पहले से ही अन्य (बेहतर) उत्तर और 3) के बहुत सारे हैं जो पृथ्वी पर वीएस 6.0 (1998 में जारी) के बारे में परवाह करता है? 4) यहां तक ​​कि अगर किसी को वीएस 6 के बारे में परवाह है, तो सवाल .Net के साथ टैग किया जाता है, जिसके पास वीएस (विज़ुअल स्टूडियो .Net) के अगले संस्करण तक समर्थन नहीं था
टिम मेडोरा

7
खैर, अन्य जवाब वीएस 6.0 पर काम नहीं करते हैं। इसलिए मैंने एक समाधान पोस्ट किया।
वोरैक

1

सेट breakpointके रूप में आप आमतौर पर करते हैं, सही तोड़ बिंदु का चयन करें और क्लिक करें condionविकल्प और अपनी हालत के सेट।


1

एक सशर्त फ़ंक्शन ब्रेकपॉइंट बनाएं:

  1. ब्रेकपॉइंट विंडो में, नया ब्रेकपॉइंट बनाने के लिए नया क्लिक करें।

  2. फ़ंक्शन टैब पर, फ़ंक्शन के लिए रिवर्स लिखें। पंक्ति के लिए 1 टाइप करें, वर्ण के लिए 1 टाइप करें, और फिर भाषा को बेसिक पर सेट करें।

  3. शर्त पर क्लिक करें और सुनिश्चित करें कि शर्त चेकबॉक्स चयनित है। instr.length > 0शर्त के लिए टाइप करें, सुनिश्चित करें कि सही विकल्प चुना गया है, और फिर ठीक पर क्लिक करें।

  4. नया ब्रेकपॉइंट संवाद बॉक्स में, ठीक पर क्लिक करें।

  5. डीबग मेनू पर, प्रारंभ पर क्लिक करें।


0

यदि आप Google से आए हैं, तो यह उत्तर वही हो सकता है जिसे आप खोज रहे हैं।

  1. डीबग> न्यू ब्रेकप्वाइंट> फंक्शन ब्रेकपॉइंट पर क्लिक करें यहाँ छवि विवरण दर्ज करें

  2. सशर्त ब्रेकपॉइंट चुनें।

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