javascript - Google Chrome डेवलपर टूल(या फ़ायरफ़ॉक्स)में कॉल स्टैक प्रविष्टियों की संख्या कैसे बढ़ाएं?




google-chrome firebug google-chrome-devtools (4)

Google Chrome डेवलपर टूल (या फ़ायरफ़ॉक्स फ़ायरबग) में कॉल स्टैक प्रविष्टियों की संख्या कैसे बढ़ाएं? मुझे तीसरे पक्ष के नियंत्रण के जावास्क्रिप्ट में एक जावास्क्रिप्ट त्रुटि मिल रही है। कॉल स्टैक विंडो में सभी कॉल मेरे अपने कोड से संबंधित नहीं हैं। मैं जानना चाहता हूं कि मेरे कोड में कौन सी पंक्ति घटनाओं के अनुक्रम को ट्रिगर करती है। कॉल स्टैक मेरे अपने कोड से कुछ प्रदर्शित करने के लिए पर्याप्त नहीं है।


Answers

Chrome में (नोड में भी), आप इसे js कंसोल में टाइप कर सकते हैं:

Error.stackTraceLimit = Infinity;

वैकल्पिक रूप से क्रोम कमांड लाइन झंडे के लिए इस पृष्ठ को देखें: https://github.com/v8/v8/wiki/Stack%20Trace%20API (क्रोम को पुनः आरंभ करने की आवश्यकता):

$ google-chrome --js-flags="--stack-trace-limit 10000"

क्रोम समाधान

https://github.com/v8/v8/wiki/Stack%20Trace%20API

स्टार्टअप पर कमांडलाइन के माध्यम से सेट कर सकते हैं --js-flags="--stack-trace-limit <value>"

या किसी पृष्ठ को लोड करते समय रनटाइम पर: Error.stackTraceLimit=undefined //unlimited stack trace


मुझे नहीं लगता कि कॉल स्टैक आकार * पर एक सीमा है)। आमतौर पर एक स्टैक ट्रेस जो लगता है कि कहीं से भी निकलता है

  • एक इवेंट श्रोता
  • एक टाइमआउट ( window.setTimeout )
  • एक अंतराल ( window.setInterval )
  • पेज लोड होने के बाद कुछ स्क्रिप्ट लोड करना (संभवतः iframe)

*) बेशक, तकनीकी रूप से निश्चित रूप से कुछ सीमा है, लेकिन मुझे लगता है कि यह व्यावहारिक रूप से अप्रासंगिक है। शायद लंबे समय तक या कुछ और।

संपादित करें: Firebug स्रोत कोड से :

    if (trace.frames.length > 100)  // TODO in the loop above
    {
        var originalLength = trace.frames.length;
        trace.frames.splice(50, originalLength - 100);
        var excuse = "(eliding "+(originalLength - 100)+" frames)";

        trace.frames[50] = new StackFrame.StackFrame({href: excuse}, 0, excuse,
            [], null, null, context);
     }

इसलिए फायरबग हमेशा कॉल स्टैक के पहले 50 और अंतिम 50 आइटम ("फ्रेम") दिखाएगा।


मुझे पता है कि मैं जो करता हूं वह काफी कामकाज है, हालांकि यह पूरी तरह से काम करता है और यही वह तरीका है जो मैं हर बार करता हूं।

फिर, इस तरह आगे बढ़ें:

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

  • अंत में, तत्व को होवर करें, राइट क्लिक करें और तत्व का निरीक्षण करें, अपने माउस को देव टूल्स विंडो में ले जाएं और आप अपने तत्व के साथ खेल सकेंगे: होवर सीएसएस।

चीयर्स!





javascript google-chrome firebug google-chrome-devtools