जावास्क्रिप्ट: क्रोम डिबगर टूल में एक सशर्त ब्रेक प्वाइंट कैसे सेट करें


100

मेरे पास यह सरल जेएस फाइल है, जो लगातार तारीखों को प्रिंट करता है।

मैं Google Chrome डीबगर उपकरण (F12) का उपयोग कर रहा हूं

मेरा सवाल है, क्या Google Chrome में सशर्त विराम बिंदु सेट करना संभव है ??

मेरे कोड में, मैं एक विराम बिंदु सेट करना चाहता हूं यदि सेकंड का मूल्य 50 के बराबर है ??

s = date.getSeconds();

यह jsfiddle जहां मेरा स्रोत है

(यह सुनिश्चित नहीं है कि इसके jsfiddle में काम क्यों नहीं)

वैसे भी मेरा सवाल है, क्या क्रोम डिबगर टूल्स में एक कंडिशनल ब्रेक प्वाइंट सेट करना संभव है ??


1
+1 क्योंकि मुझे नहीं पता था कि इस प्रश्न का उत्तर देने के लिए दस्तावेज की जांच करने तक यह संभव था। धन्यवाद!
थरोट

जवाबों:


141

हाँ यह संभव है।

ब्रेकपॉइंट के मार्कर पर राइट क्लिक करें और "ब्रेकपॉइंट को एडिट करें ..." का चयन करें।

विकासक पर Chrome डेवलपर टूल से डेवलपर.google.com (जोर मेरा) पर:

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


धन्यवाद, जैसा कि आपने उल्लेख किया था, संपादित विराम बिंदु और सेट अगर (s == 50), लेकिन इसकी उस स्थिति पर रोक क्यों नहीं ??
पवन

2
@PreethiJain ने बस शर्त "s == 50" (बिना उद्धरण के) लिखी। वैसे, मैं jsfiddle पर काम करने में कामयाब रहा: jsfiddle.net/nVpXN/6
Theraot

6
तुम भी एक विराम बिंदु के साथ शुरू करने की जरूरत नहीं है। बस एक लाइन पर राइट-क्लिक करें और "सशर्त ब्रेकप्वाइंट जोड़ें ..." पर क्लिक करें ।
मार्टिन एंडर

2
आदमी, यह 2017 है, और मैं क्रोम के बारे में नई बुनियादी चीजें सीख रहा हूं। # स्वेच्छाचारिता
Qodesmith

1
यह सिर्फ कोड निष्पादन में इस बिंदु पर बयान की जांच करेगा और फिर यदि ऐसा है, तो एक बयान के भीतर एक विराम बिंदु के समान है। मुझे लगता है कि ओपी जानना चाहता था कि क्या डिबगर प्रत्येक स्टेटमेंट निष्पादन पर जांच करता है कि क्या शर्त पूरी हुई है और क्या यह डिबगर इस लाइन पर टूटता है। यह व्यवहार बहुत अधिक उपयोगी है क्योंकि आपको यह पता लगाने के लिए जासूसी नहीं करनी पड़ती है कि एक चर कुछ अप्रत्याशित कब करता है।
इजेक्टमिना

27

debuggerबयान पर नजर डालें । मूल रूप से यह उपलब्ध किसी भी डीबगर उपकरण को आमंत्रित करता है, और क्रोम में यह कार्य करता है जैसे कि दुभाषिया एक ब्रेकपॉइंट से मिला है।

आपका कोड होगा:

s = date.getSeconds();
if (s == 50) {
   debugger;
}

से संदर्भ :

[डिबगर] किसी भी उपलब्ध डीबगिंग कार्यक्षमता को आमंत्रित करता है। यदि कोई डीबगिंग कार्यक्षमता उपलब्ध नहीं है, तो इस कथन का कोई प्रभाव नहीं है।


हालांकि यह वास्तव में मूल प्रश्न की भावना से अधिक मूल प्रश्न में था, और यह बहुत अच्छी जानकारी है; मुझे लगता है कि असली सवाल क्रोम टूल्स के बारे में था, न कि ईसीएमएस्क्रिप्ट। ऐसा कहे जाने के बाद; वहाँ एक चेतावनी है कि जोड़ा जाना चाहिए: debuggerउत्पादन कोड में सभी कॉल हटा दें । (मुझे पूरा यकीन है कि यदि डिबगर आसपास है, तो लाइनिंग में एक त्रुटि होगी, लेकिन जब भी विषय उठाया जाता है तो यह कॉल करने के लायक है)।
क्रिस्पेन स्मिथ

1
आपको डीबगर कथन की आवश्यकता नहीं है, यदि आपके अंदर एक खाली कथन हो सकता है और वहां केवल एक विराम बिंदु जोड़ सकते हैं।
इजेक्टमना

8

आप इन चरणों का पालन करके Google Chrome में एक सशर्त विराम बिंदु सेट कर सकते हैं:

1. ठीक उस ब्रेकपॉइंट पर क्लिक करें, जहाँ आप रुकना चाहते हैं, कृपया chk पर क्लिक करें यहां छवि विवरण दर्ज करें

2. "सशर्त ब्रेकपॉइंट जोड़ें" पर क्लिक करें, एक पाठ दिखाई देगा, वहां u हालत जोड़ सकते हैं (परिणाम 'सत्य' होगा यदि शर्त संतुष्ट हो, और 'गलत'), तो शर्त के बाद ब्रेकपॉइंट का रंग गोटो नारंगी होगा, " पर चाक यहां छवि विवरण दर्ज करें

3.reload एक ही पेज u देख सकते हैं अगर स्थिति संतुष्ट है तो ब्रेकपाइंट काम करेगा यहां छवि विवरण दर्ज करें

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