javascript - जावास्क्रिप्ट: क्या सभी त्रुटियों पर क्रोम को तोड़ने का कोई तरीका है?




google-chrome debugging (4)

मैं फ़ायरबग की कार्यक्षमता को "सभी त्रुटियों पर तोड़ने" की कार्यक्षमता के लिए देख रहा हूं। स्क्रिप्ट टैब में, क्रोम के पास "सभी अपवादों पर रोक" है, लेकिन यह सभी त्रुटियों को तोड़ने जैसा बिल्कुल नहीं है।

उदाहरण के लिए, निम्न कोड वाले पृष्ठ को लोड करते समय, मैं क्रोम को foo.bar = 42 पंक्ति पर तोड़ना foo.bar = 42 । इसके बजाय, "सभी अपवादों पर रोक" को सक्षम करते समय भी मुझे अपेक्षित परिणाम नहीं मिलते हैं।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <script type="text/javascript">

            function doError() {
                foo.bar = 42;
            }

            window.onload = function() {
                try {
                    doError();
                } catch (e) {
                    console.log("Error", e);
                }
            }
        </script>
    </head>
    <body>
    </body>
</html>

आप इस पृष्ठ पर उपरोक्त कोड का प्रयास कर सकते हैं या इस jsFiddle का उपयोग कर jsFiddle


अब यह "सभी अपवादों पर रोकें" बटन द्वारा क्रोम में समर्थित है।

इसे सक्षम करने के लिए:

  • क्रोम डेवलपर टूल्स में "स्रोत" टैब पर जाएं
  • "सभी अपवाद मोड पर रोकें" पर स्विच करने के लिए विंडो के नीचे "रोकें" बटन पर क्लिक करें।

ध्यान दें कि इस बटन में कई राज्य हैं। बीच स्विच करने के लिए बटन पर क्लिक करना जारी रखें

  • "सभी अपवादों पर रोकें" - बटन रंगीन हल्का नीला है
  • "बेजोड़ अपवादों पर रोकें", बटन रंगीन बैंगनी है
  • "अपवादों पर रोक न दें" - बटन रंगीन ग्रे है

दुर्भाग्यवश, यह क्रोम में डेवलपर टूल "सभी त्रुटियों पर रोक" करने में असमर्थ प्रतीत होता है, जैसे फ़ायरबग करता है।


मुझे इसे पाने में परेशानी हुई, इसलिए मैं विभिन्न विकल्पों को दिखाते हुए चित्र पोस्ट करता हूं:

क्रोम 58.0.3029.96 [30 मई 2017]

कम से कम क्रोम 38.0.2125.111 [11 दिसंबर 2014] से सच है

टैब Sources : Screenshot for Chrome 50.0.2661.75

जब बटन सक्रिय होता है, तो आप नीचे दिए गए चेकबॉक्स के साथ Pause On Caught Exceptions को हटा सकते हैं:

पिछला संस्करण

क्रोम 32.0.1700.102 [03 feb 2014]

क्रोम 27.0.1453.93 स्थिर


संपादित करें: मैंने जिस मूल लिंक का उत्तर दिया है वह अब अमान्य है । नया यूआरएल 2016-11-11 के रूप में https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions होगा।

मुझे एहसास है कि इस सवाल का जवाब है, लेकिन यह अब सटीक नहीं है। उपरोक्त लिंक का प्रयोग करें ^

(लिंक को ऊपर संपादित करके प्रतिस्थापित किया गया है) - अब आप इसे सभी अपवादों या केवल अनचाहे लोगों को तोड़ने के लिए सेट कर सकते हैं। (ध्यान दें कि बटन देखने के लिए आपको स्रोत टैब में होना चाहिए।)

क्रोम ने अब कुछ अन्य वास्तव में उपयोगी ब्रेकपॉइंट क्षमताओं को भी जोड़ा है, जैसे डीओएम परिवर्तन या नेटवर्क घटनाओं को तोड़ना।

आम तौर पर मैं एक प्रश्न का दोबारा जवाब नहीं दूंगा, लेकिन मेरे पास एक ही सवाल था, और मुझे यह अब गलत जवाब मिला, इसलिए मुझे लगा कि मैं इस जानकारी को उन लोगों के लिए यहां रखूंगा जो बाद में खोज में आए थे। :)





webkit