मैं क्रोम डीबगर को कोड के माध्यम से एक लाइन पर तोड़ने के लिए मजबूर करना चाहता हूं , या कुछ प्रकार के टिप्पणी टैग का उपयोग करके ऐसा कुछconsole.break()
।
मैं क्रोम डीबगर को कोड के माध्यम से एक लाइन पर तोड़ने के लिए मजबूर करना चाहता हूं , या कुछ प्रकार के टिप्पणी टैग का उपयोग करके ऐसा कुछconsole.break()
।
जवाबों:
आप debugger;
अपने कोड के भीतर उपयोग कर सकते हैं । यदि डेवलपर कंसोल खुला है, तो निष्पादन टूट जाएगा। यह फायरबग में भी काम करता है।
setTimeout(function(){debugger;}, 3000);
debugger;
सभी प्रमुख ब्राउज़रों में भी समर्थित है। अधिक जानकारी के लिए: w3schools.com/jsref/jsref_debugger.asp
एक बटन क्लिक श्रोता सेट करें और कॉल करें debugger;
उदाहरण
$("#myBtn").click(function() {
debugger;
});
डेमो
जावास्क्रिप्ट में डीबगिंग पर संसाधन
आप भी debug(function)
, जब तोड़ने के लिए उपयोग कर सकते हैंfunction
कहा जाता है ।
जैसा कि अन्य पहले ही कह चुके हैं, debugger;
जाने का रास्ता है। मैंने एक छोटी स्क्रिप्ट लिखी है जिसे आप फ़ंक्शन कॉल से ठीक पहले ब्रेकपॉइंट को सेट और हटाने के लिए कमांड लाइन से उपयोग कर सकते हैं:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
"स्क्रिप्ट्स" टैब पर, अपना कोड कहाँ है पर जाएँ। पंक्ति संख्या के बाईं ओर, क्लिक करें। यह एक ब्रेकपॉइंट सेट करेगा।
स्क्रीनशॉट:
फिर आप अपने टैब को सही टैब के भीतर ट्रैक कर पाएंगे (जैसा कि स्क्रीनशॉट में दिखाया गया है)।
debugger
EcmaScript द्वारा एक आरक्षित कीवर्ड है और ES5 के बाद से वैकल्पिक शब्दार्थ दिया गया है
नतीजतन, इसका उपयोग न केवल क्रोम में किया जा सकता है, बल्कि फ़ायरफ़ॉक्स और Node.js के माध्यम से भी किया जा सकता हैnode debug myscript.js
।
वाक्य - विन्यास
DebuggerStatement : debugger ;
शब्दार्थ
डिबगरस्टैटमेंट उत्पादन का मूल्यांकन एक डिबगर के तहत चलने पर एक ब्रेकपॉइंट को लागू करने की अनुमति दे सकता है। यदि कोई डिबगर मौजूद नहीं है या सक्रिय नहीं है तो इस कथन का कोई प्रभाव नहीं है।
उत्पादन डिबगरस्टेमेंट: डीबगर; मूल्यांकन इस प्रकार है:
- यदि एक कार्यान्वयन परिभाषित डिबगिंग सुविधा उपलब्ध है और सक्षम है, तो
- एक कार्यान्वयन परिभाषित डिबगिंग कार्रवाई करें।
- परिणाम को एक कार्यान्वयन परिभाषित पूर्णता मान दें।
- अन्य
- परिणाम (सामान्य, खाली, खाली) होने दें।
- वापसी का परिणाम।
ईएस 6 में कोई बदलाव नहीं।
यह संभव है और कई कारण हैं जो आप ऐसा करना चाह सकते हैं। उदाहरण के लिए, पेज लोडिंग की शुरुआत के करीब एक जावास्क्रिप्ट अनंत लूप डिबग करना, जो क्रोम डेवलपर टूलसेट (या फायरबग) को सही तरीके से लोड करने से रोकता है।
का अनुभाग 2 देखें
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
या केवल आवश्यक परीक्षण बिंदु पर अपने कोड में डिबगर शब्द युक्त एक पंक्ति जोड़ें।
ब्रेकपॉइंट: -
ब्रेकपॉइंट निष्पादित करना बंद कर देगा, और आपको जावास्क्रिप्ट मूल्यों की जांच करने देगा।
मूल्यों की जांच करने के बाद, आप कोड के निष्पादन (आमतौर पर एक प्ले बटन के साथ) को फिर से शुरू कर सकते हैं।
डिबगर: -
डिबगर; जावास्क्रिप्ट के निष्पादन को रोकता है, और कॉलस्टे डीबगिंग फ़ंक्शन।
डीबगर कथन निष्पादन को निलंबित करता है, लेकिन यह किसी भी फ़ाइल को बंद नहीं करता है और न ही किसी चर को साफ़ करता है।
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
आप debug(functionName)
कार्यों को डिबग करने के लिए भी सेट कर सकते हैं ।
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
जावास्क्रिप्ट कोड को डीबग करने के कई तरीके हैं। जावास्क्रिप्ट के बाद कोड के माध्यम से डीबग करने के लिए दो दृष्टिकोणों का व्यापक रूप से उपयोग किया जाता है
console.log()
ब्राउज़र कंसोल में मानों को प्रिंट करने के लिए उपयोग करना । (इससे आपको अपने कोड के कुछ बिंदुओं पर मूल्यों को समझने में मदद मिलेगी)
डिबगर कीवर्ड। debugger;
उन स्थानों में जोड़ें जिन्हें आप डीबग करना चाहते हैं, और ब्राउज़र के डेवलपर कंसोल को खोलें और स्रोतों टैब पर जाएं।
अधिक उपकरणों और तरीकों के लिए जिसमें आप जावास्क्रिप्ट कोड को डीबग करते हैं, W3School द्वारा इस लिंक में दिए गए हैं ।
मैं अनुशंसा नहीं करूंगा debugger;
कि आप सिर्फ जावास्क्रिप्ट कोड को मारना और बंद करना चाहते हैं, क्योंकिdebugger;
यह आपके जावास्क्रिप्ट कोड को अस्थायी रूप से फ्रीज कर देगा और इसे स्थायी रूप से बंद नहीं करेगा।
यदि आप अपने आदेश में जावास्क्रिप्ट कोड को ठीक से मारना और रोकना चाहते हैं, तो निम्नलिखित का उपयोग करें:
throw new Error("This error message appears because I placed it");
debugger;
डेवलपर टूलबार में नियमित ब्रेकपॉइंट्स का उपयोग करने की कोशिश की है या कर रहे हैं