Mister Download Manager
  1. होम
  2. सहायता
  3. क्रैश रिपोर्ट

क्रैश रिपोर्ट

यदि Mister Download Manager अप्रत्याशित रूप से बंद हो जाता है या प्रतिक्रिया देना बंद कर देता है, तो एक क्रैश रिपोर्ट विंडो खुलती है। यह दिखाती है कि क्या हुआ, आपको पूरी रिपोर्ट पढ़ने देती है, और इसे GitHub पर डेवलपर्स को भेज सकती है। प्रत्येक रिपोर्ट सभी के लिए समस्या को ठीक करने में मदद करती है।

MDM के प्रतिक्रिया देना बंद करने के बाद क्रैश रिपोर्ट विंडो

आप क्या देखते हैं

  • Mister Download Manager अप्रत्याशित रूप से बंद हो गया: MDM क्रैश हो गया, या एक आंतरिक त्रुटि हुई और बंद हो गया।
  • Mister Download Manager ने प्रतिक्रिया देना बंद कर दिया: इसकी विंडो ने 8 सेकंड तक जवाब नहीं दिया। MDM अभी भी चल रहा है, जम गया है। MDM को समाप्त करें और पुनरारंभ करें जमी हुई कॉपी को बंद कर देता है और एक नई शुरू करता है। यदि MDM अपने आप फिर से जवाब देता है, तो विंडो ऐसा कहती है।

विंडो में:

  1. जब यह हुआ तब आप क्या कर रहे थे? वैकल्पिक है। कुछ शब्द, जैसे "मैंने URL जोड़ें खोला", बहुत मदद करते हैं।
  2. रिपोर्ट वह सब कुछ दिखाती है जो भेजा जाएगा। यदि आप चाहें तो इसे पहले पढ़ें।
  3. GitHub पर भेजें आपके ब्राउज़र में GitHub का क्रैश रिपोर्ट फ़ॉर्म खोलता है, जो पहले से भरा हुआ होता है, साथ ही उस फ़ोल्डर को भी खोलता है जिसमें रिपोर्ट होती है। रिपोर्ट की फ़ाइल को फ़ॉर्म में खींचें, उसे जांचें और सबमिट करें। आपको एक GitHub खाते की आवश्यकता है। कुछ भी अपने आप नहीं भेजा जाता है।
  4. यदि किसी ने पहले ही उसी समस्या की रिपोर्ट कर दी है, तो विंडो ऐसा कहती है (पहले ही समस्या #… के रूप में रिपोर्ट किया गया)। रिपोर्ट किया गया समस्या खोलें इसे खोलता है और आपकी रिपोर्ट को क्लिपबोर्ड पर रखता है, ताकि आप इसे एक टिप्पणी के रूप में जोड़ सकें।

अन्य बटन रिपोर्ट को कॉपी करते हैं, उसका फ़ोल्डर खोलते हैं, या MDM को फिर से शुरू करते हैं।

एक रिपोर्ट में क्या होता है

  • क्या हुआ: त्रुटि और MDM के कोड में वह स्थान जहाँ यह हुआ।
  • स्टैक: MDM के कोड में वह स्थान जहाँ यह क्रैश हुआ या जम गया, और इसके हर दूसरे हिस्से में क्या हो रहा था।
  • MDM का हालिया लॉग: उदाहरण के लिए "कमांड AddUrl" या "विंडो खोली गई: add-url"।
  • सिस्टम: MDM का संस्करण और आपने इसे कैसे स्थापित किया, आपका ऑपरेटिंग सिस्टम और उसका संस्करण, प्रोसेसर, भाषा और थीम, और आपके पास कितने डाउनलोड और कतारें हैं। ये केवल गणनाएँ हैं।

इसमें नहीं होता है:

  • आपके डाउनलोड पते या फ़ाइल नाम;
  • आपका उपयोगकर्ता नाम, जो फ़ोल्डर पथों में ~ के रूप में दिखता है।

यदि कोई त्रुटि संदेश आपके द्वारा टाइप की गई किसी चीज़ को उद्धृत करता है, तो वह टेक्स्ट रिपोर्ट में होता है, इसलिए भेजने से पहले उसे पढ़ें।

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

रिपोर्ट कहाँ रखी जाती हैं

MDM के डेटा फ़ोल्डर में:

  • crashes\: प्रत्येक रिपोर्ट (.txt) और उसका क्रैश डेटा (.dmp);
  • logs\: MDM का लॉग (mdm.log, पुराने वाले mdm.1.log और इसी तरह, प्रत्येक 2 MB)।

MDM का डेटा फ़ोल्डर Windows पर %APPDATA%\misterdownloadmanager, macOS पर ~/Library/Application Support/misterdownloadmanager, और Linux पर ~/.local/share/misterdownloadmanager है। पोर्टेबल मोड में यह प्रोग्राम के बगल में data फ़ोल्डर होता है।

लॉग MDM क्या करता है उसे रिकॉर्ड करता है, इसलिए एक रिपोर्ट दिखा सकती है कि समस्या किस कारण हुई। अधिक विवरण लॉग करने के लिए, पर्यावरण चर MDM_LOG=debug के साथ MDM शुरू करें।

डेवलपर्स के लिए

यह कैसे काम करता है: MDM की एक दूसरी कॉपी, मॉनिटर, इसके बगल में --crash-monitor के साथ शुरू होती है। क्रैश कोड crates/crash और crates/app/src/crash.rs में रहता है।

  • समस्याओं को पकड़ना। जब MDM क्रैश होता है (एक Windows अपवाद, Linux पर एक सिग्नल, macOS पर एक Mach अपवाद), पैनिक करता है, या जम जाता है, तो यह मॉनिटर से एक डंप मांगता है। एक फ़्रीज़ विंडो का एक फ़्रेम है जो 8 सेकंड से अधिक चलता है, जिसे एक वॉचडॉग थ्रेड द्वारा देखा जाता है जो सोए हुए समय को अनदेखा करता है। मॉनिटर फिर minidumper और crash-handler के माध्यम से बाहर से हर थ्रेड का एक मिनीडंप लिखता है। एक क्रैश हुई प्रक्रिया कभी भी अपना डंप नहीं लिखती है, जो कि Firefox, Crashpad और Sentry भी इसी तरह करते हैं।
  • डंप पढ़ना। मॉनिटर Mozilla के rust-minidump के साथ डंप पढ़ता है। यदि वे मिलते हैं तो यह रिलीज़ के ब्रेकपैड प्रतीकों का उपयोग करता है, या स्रोत से एक बिल्ड के बगल में मूल डीबग जानकारी का उपयोग करता है। रिपोर्ट का हस्ताक्षर (उदाहरण के लिए freeze in misterdownloadmanager::winui::combo_edit) एक समस्या की रिपोर्टों में समान रहता है, और विंडो इसके लिए मौजूदा समस्याओं को खोजती है।
  • प्रतीक। रिलीज़ बिल्ड लाइन टेबल (debug = "line-tables-only") रखते हैं, लेकिन कोई भी डाउनलोड डीबग जानकारी शामिल नहीं करता है। CI इसे MisterDownloadManager-<version>-symbols-<platform>.zip (tools/installer/symbols.py, Mozilla के dump_syms का उपयोग करके) में बदल देता है, जिसे रिलीज़ की अन्य फ़ाइलों के बगल में प्रकाशित किया जाता है। जब एक स्टैक नंगे पते दिखाता है तो रिपोर्ट विंडो अपने स्वयं के संस्करण के लिए ज़िप प्राप्त करती है।
  • एक समस्या से .dmp:

cargo run -p mdm-crash --bin mdm-symbolicate -- crash.dmp MisterDownloadManager-<version>-symbols-windows-x64.zip

  • इसका परीक्षण करना। cargo test -p mdm-crash एक वास्तविक फ्रीज, पैनिक और क्रैश (examples/crashy.rs) चलाता है और प्रत्येक रिपोर्ट के हस्ताक्षर की जाँच करता है। इसे ऐप में आज़माने के लिए, MDM को MDM_CRASH_TEST=1 के साथ शुरू करें, फिर misterdownloadmanager /show crash-test:freeze (या panic, crash, abort) चलाएँ।

मुफ़्त, ओपन सोर्स, कोई विज्ञापन नहीं, कोई ट्रायल नहीं।

Mister Download Manager डाउनलोड करें