Chrome द्वारा "Aw, Snap" संवाद दिखाने के लिए क्या कारण है, यह कैसे निर्धारित किया जाए


31

क्या कोई जानता है कि क्या "Aw Snap!" का कारण निर्धारित करने का कोई व्यावहारिक तरीका है। संदेश जो कभी-कभी Google Chrome पर दिखाई देता है? क्या Chrome में कोई त्रुटि लॉग है जिसका मैं उल्लेख कर सकता हूं? मुझे संदेह है कि यह समस्या कोड में एक पुनरावर्ती लूप के कारण होती है जो तब सभी मेमोरी को निगल रही है? क्या कोई तरीका है जिससे मैं इसकी पुष्टि कर सकूं?



जवाबों:


28

यहाँ देखें, स्पष्टीकरण देखें: क्रोम में साधारण लॉगिंग के लिए, आप कोशिश कर सकते हैं:


1
मुझे लगता है कि पहला विकल्प इस समस्या को अलग करने में मदद करेगा। इससे पहले कि यह कुछ भी उपयोग कर सकता है, देव कंसोल लटका हुआ है।
QFDev

2
मैंने लॉग को सक्षम किया और क्रोम क्रैश होने पर, क्रैश के समय इसमें कोई त्रुटि नहीं हुई। क्या कोई संदर्भ है जो लॉग आइटम में अंतर्दृष्टि प्रदान कर सकता है?
खादिम अली

क्या यह क्रोमियम पृष्ठ लॉगिंग के बारे में है। आप क्या चाहते हैं?
vinnief

क्या आप इस उत्तर में लिंक की संक्षिप्त सामग्री शामिल कर सकते हैं। अगर लिंक मर जाते हैं तो यह बासी हो जाएगा।
mafu

3
जावास्क्रिप्ट कंसोल आमतौर पर इस मामले में उपयोगी नहीं होता है, क्योंकि पेज क्रैश होने पर dev टूल्स डिस्कनेक्ट हो जाते हैं।
पॉनस्टार

28

ऑफिशियल क्रोम डेवलपर्स ट्विटर अकाउंट एक वेबसाइट से जुड़ा हुआ है जो आपको "Aw Snap" पेज डीबग करने में मदद करता है: http://www.chromium.org/for-testers/enable-log

इन झंडे के साथ क्रोम लॉन्च करने की सिफारिश की गई है:

--enable-logging --v=1

यदि आप ऐसा करते हैं, तो आप chrome_debug.logक्रोम के उपयोगकर्ता डेटा निर्देशिका (पेरेंट डायरेक्टरी में Default/) या बाइनरी बिल्ड फ़ोल्डर ( out\Debug) में डिबग बिल्ड का उपयोग कर रहे हैं , तो फ़ाइल से क्रैश लॉग को पकड़ सकते हैं ।


5
upvote क्योंकि इस पोस्ट --enable-logging --v=1 को स्वीकार किए गए उत्तर को संपादित करने से बहुत पहले उल्लेख किया गया था।
सीएडी

2

अजी, स्नैप! पृष्ठ आमतौर पर प्रक्रिया विभाजन दोष दुर्घटना से संबंधित है जो सॉफ्टवेयर बग से संबंधित हो सकता है । कारण निर्धारित करने के लिए, आप लॉगिंग को सक्षम कर सकते हैं (जैसा कि अन्य उत्तरों में सुझाया गया है) या कोर डंप फ़ाइल ( मैकओएस , लिनक्स , उदाहरण के लिए उबंटू ) के बैकट्रेस का विश्लेषण कर सकते हैं ।

यदि आपको कारण पता नहीं है (जैसे स्टैक ट्रेस में केवल मेमोरी एड्रेस होते हैं), तो आप Chrome बग ट्रैकिंग सिस्टम पर एक नया समर्थन टिकट बना सकते हैं (या पहले से ही कोई है या नहीं) इसकी दोबारा जांच करें। रिपोर्टिंग करते समय, आपको chrome://crashes/पेज पर जाकर क्रैश आईडी को अपलोड करना चाहिए और शामिल करना चाहिए , इसलिए क्रोम अनुरक्षकों द्वारा मेमोरी एड्रेस का अनुवाद डिबग प्रतीकों में किया जा सकता है।

वैकल्पिक रूप से आप अपने आप को क्रैश डंप डिकोड कर सकते हैं

यह भी देखें: Google Chrome क्रैश डंप कहां स्थित है?


ऊपर सरलीकृत करने के लिए, यहां मुख्य कारण हैं कि पृष्ठ दुर्घटनाग्रस्त क्यों हो सकता है:

  • आपने बग ढूंढ लिया है (या तो वेबसाइट पर या वेब ब्राउजर इट-सेल्फ के साथ)।

    • वेबसाइट बग

      • उदाहरण: जावास्क्रिप्ट वीएम अधिकतम आवंटित मेमोरी (आउट-ऑफ-मेमोरी क्रैश) तक पहुंच गया।

        जाँचने के लिए, DevTools चलाएं और मेमोरी टैब जांचें । यदि ऐसा है, तो संभावित आउट-ऑफ-मेमोरी क्रैश (जैसे अंक 810015 ) से ठीक पहले कोड को स्वचालित रूप से विराम देना चाहिए । यदि हां, तो वेबसाइट के मालिक को समस्या की रिपोर्ट करें, या बग को खोजने के लिए जेएस कोड को प्रोफाइल करें।

    • ब्राउज़र बग

      • एक्सटेंशन अक्षम करने पर विचार करें या गुप्त मोड में चलाएं ।
      • कैश्ड फ़ाइलों को हटाने पर विचार करें
      • बग की रिपोर्ट करें
      • ब्राउज़र को फिर से स्थापित करें।
      • क्रोम के किसी भिन्न संस्करण जैसे क्रोमियम , देव या कैनरी चैनल का उपयोग करें।
      • अलग-अलग ब्राउजर जैसे एपिक, फायरफॉक्स, ओपेरा, ब्रेव, वाटरफॉक्स, टॉर्च या अन्य का उपयोग करें।
      • यदि समस्या पुनरावृत्ति योग्य है, तो आप डीबग प्रतीकों के साथ क्रोम स्रोतों को फिर से संकलित करने का प्रयास कर सकते हैं और स्टैक ट्रेस का विश्लेषण कर सकते हैं या इसकी रिपोर्ट कर सकते हैं।
  • आप अपने सिस्टम की अधिकतम खुली फाइलों तक पहुँच गए हैं (देखें: # 787381 )।

    Linux / Unix / macOS पर, यह सत्यापित करने के लिए कि रन:

    sysctl -a | grep files
    

    और जाँच करें कि क्या kern.num_filesसीमा तक पहुँच गया है kern.maxfiles

    यदि ऐसा है, तो निम्न कमांड चलाकर सीमा बढ़ाएँ:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • आपके पास कुछ मैलवेयर / वायरस हो सकते हैं जो क्रैश होने के कारण आपकी Chrome फ़ाइलों को बदल देते हैं।

  • आपके पास कुछ हार्डवेयर मेमोरी से संबंधित समस्या हो सकती है । इसलिए कुछ टेस्ट (जैसे memtest) चलाएं ।

मैक ओ एस

Chrome से लॉग प्रदर्शित करने के लिए, चलाएँ:

log stream --level debug --predicate 'processImagePath contains "Google"'

या कंसोल ऐप चलाकर , जहां आप किसी भी क्रैश डंप (या चेक इन ~/Library/Logs/DiagnosticReports) के लिए भी जांच कर सकते हैं । देखें: Chrome में "Aw, Snap!" डीबग त्रुटि


डिबगिंग

यदि उपरोक्त में से कोई भी मदद नहीं करता है, तो आप स्रोत से क्रोम संकलित करने पर विचार कर सकते हैं (एक लंबा समय लगता है), फिर सीधे टर्मिनल से चलाएं। उसके बाद, प्रत्येक "Aw, Snap!" एरर को फुल स्टैक ट्रेस द्वारा फॉलो किया जाना चाहिए जिसमें फ़ंक्शंस और लाइन इन सोर्स कोड फ़ाइल होती है जहाँ यह हुआ था।

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