क्या मैं jquery.js को अनदेखा करने के लिए क्रोम स्क्रिप्ट डीबगर को बता सकता हूं?


98

क्या क्रोम डिबगर (या शायद फायरबग?) को कुछ फ़ाइलों के भीतर नहीं तोड़ने का एक तरीका है? यह मान लेना कि वे अनिवार्य रूप से टूटे हुए नहीं हैं? ऐसा लगता है जैसे वे कुछ निर्माण कर सकते हैं।


3
यह विशेष रूप से jquery घटनाओं के संदर्भ में मेरे लिए उपयोगी होगा। जब कोई घटना शुरू होती है तो आपको बहुत सारे संकटों से गुजरना पड़ता है ताकि पता लगाया जा सके कि किन हैंडलर को आमंत्रित किया जा रहा है।
टॉफर्म

ऐसा लगता है कि आपको उत्तर के रूप में jfriend00 को चिह्नित करना चाहिए। मुझे उस कष्टप्रद व्यवहार का कारण नहीं मिला, और उनके जवाब ने इसे हल कर दिया।
ORPaz

@OrPaz मैं असहमत हूं, मेरी समस्या (और जोश की समस्या के बारे में मेरी समझ) है कि हम अपनी फाइल डिबग कर रहे हैं, हालांकि इसका मतलब यह नहीं है कि अपवाद को फेंक दिया जा रहा है। मेरी धारणा यह है कि मेरा कोड समस्या है और jQuery का नहीं, इसलिए मैं jQuery को डिबग नहीं करना चाहता। मुझे लगता है कि यह .NET में DebuggerHiddenAttribute की तरह है
नाथन कोप

मैंने jfriend00 के जवाब को वोट दिया, क्योंकि यह उन लोगों के लिए मूल्यवान हो सकता है जो इस सवाल पर आते हैं, लेकिन मैंने इसे सही उत्तर के रूप में चिह्नित नहीं किया है, क्योंकि नाथन कोप सही है, यह मेरी समस्या का समाधान नहीं करता है।
जोश शुल्त्स

जवाबों:


47

फ़ायरफ़ॉक्स https://developer.mozilla.org/en-US/docs/Tools/ebebger

और क्रोम कैनरी में प्रायोगिक देव उपकरणों का उपयोग कर। http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code-while-debugging-in-chrome/

अपडेट करें । Chrome v। 75 में ब्लैकबॉक्सिंग के लिए एक अलग टैब है

ऊपर स्थिर Chrome बिल्ड में अब भी काम करता है।


7
डिबगर को फ़ाइल को स्किप करने के लिए ब्लैकबॉक्सिंग नहीं लगती है। यह अभी भी फ़ंक्शन कॉल के माध्यम से गुजर जाएगा ... पूरी तरह से एक फ़ाइल की अनदेखी करना अच्छा होगा।
एंटोनियो ब्रैंडाओ

4
यह ब्लैकबॉक्सिंग में बिंदु है - यह सामग्री देखे बिना कोड चला रहा है।
डायनेवाला

1
जब आप केवल अन्य पुस्तकालयों के माध्यम से कदम नहीं उठाते हैं तो ब्लैकबॉक्सिंग नहीं होती है, यह नहीं कि वे मौजूद नहीं हैं या उनका उपयोग नहीं किया जा रहा है।
जॉनी

फ़ायरफ़ॉक्स के लिए अद्यतन लिंक: developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/…
pcarvalho

31

Chrome के नवीनतम संस्करण ने एक नया ब्लैकबॉक्स फ़ीचर लागू किया है , जो वास्तव में वही है जो आप खोज रहे हैं। मूल रूप से, जब आप किसी दिए गए फ़ाइल पर ब्लैकबॉक्स विकल्प सेट करते हैं, तो यह क्रोम डीबगर को उस फ़ाइल को तोड़ने से रोक देगा।

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


2
बहुत साफ समाधान कोई प्लगइन्स की जरूरत है।
जॉर्ज बॉट्रोस जूल

3
अब दुर्भाग्य से काम नहीं करता। यदि आपके पास "पॉज़ ऑन कैच एक्सेप्शन" चेक किया गया है और फिर ब्लैकबॉक्स jQuery तो यह अभी भी अपवादों पर टूट जाएगा।
ब्लैकमम्बा

15

यदि आपके पास होने वाली समस्या यह है कि Chrome डीबगर सभी अपवादों पर रोक रहा है, यहां तक ​​कि jQuery के अंदर वाले भी, तो आपको Chrome को केवल अपवादित अपवादों पर विराम देने की आवश्यकता हो सकती है, सभी अपवादों को नहीं। जब डीबगर में स्क्रिप्ट पैनल में, विंडो के निचले बाएं कोने में एक आइकन होता है जो इसे नियंत्रित करता है।


इससे मुझे बचाया! धन्यवाद! (+ 1)
ORPaz

12

Chrome में, डेवलपर टूल खोलें, फिर गोटो सेटिंग, और आप ब्लैकबॉक्स टैब देखेंगे :

क्रोम ब्लैकबॉक्स

फ़ायर्फ़ॉक्स में यह और भी आसान है, बस फ़ाइल के निचले भाग पर नज़र क्लिक करें:

फ़ायर्फ़ॉक्स ब्लैकबॉक्स


तुमने बस मेरी जिंदगी को स्वर्ग बना दिया! धन्यवाद!
नहीं पता है

7
  1. डेवलपर टूल सेटिंग पर जाएं और बाएं पैनल पर Balckboxing टैब पर क्लिक करें।
  2. फिर Add पैटर्न बटन पर क्लिक करें और jquery.js टाइप करें
  3. डेवलपर टूल को बंद करें और फिर से खोलें, अब इसका स्किप हो गया है!

2

यदि डिबगर कहीं jQuery फ़ाइलों में बह रहा है, तो आप संभावित रूप से संदिग्ध कॉल को एक कोशिश / पकड़ में लपेट सकते हैं और फिर अपने आप में एक त्रुटि फेंक सकते हैं catch। इस तरह, आप ठीक उसी जगह को अलग कर सकते हैं जहाँ आपका गलत हो रहा है।

मैं यह देखना चाहता हूं कि मेरे कोड को क्यों उड़ाया जा रहा है, यह देखने के लिए स्टैक ट्रैस करने की अधिक इच्छा है, जैसे कि अमान्य JSON, इस पर ग्लोस को आज़माने के लिए।

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