إذا أغلق Mister Download Manager بشكل غير متوقع أو توقف عن الاستجابة، تفتح نافذة تقرير الأعطال. تعرض هذه النافذة ما حدث، وتتيح لك قراءة التقرير بالكامل، ويمكنها إرساله إلى المطورين على GitHub. يساعد كل تقرير في إصلاح المشكلة للجميع.

ما تراه
- أغلق Mister Download Manager بشكل غير متوقع: تعطل MDM، أو واجه خطأ داخليا وأغلق.
- توقف Mister Download Manager عن الاستجابة: لم تستجب نافذته لمدة 8 ثوان. لا يزال MDM يعمل، لكنه متجمد. إنهاء MDM وإعادة تشغيله يغلق النسخة المتجمدة ويبدأ نسخة جديدة. إذا استجاب MDM مرة أخرى من تلقاء نفسه، فإن النافذة تخبرك بذلك.
في النافذة:
- ماذا كنت تفعل عندما حدث ذلك؟ هذا اختياري. بضع كلمات، مثل "فتحت إضافة URL"، تساعد كثيرا.
- التقرير يعرض كل ما سيتم إرساله. اقرأه أولا إذا أردت.
- إرسال على GitHub يفتح نموذج تقرير الأعطال الخاص بـ GitHub في متصفحك، وهو مملوء مسبقا، بالإضافة إلى المجلد الذي يحتوي على التقرير. اسحب ملف التقرير إلى النموذج، وتحقق منه، ثم أرسله. تحتاج إلى حساب GitHub. لا يتم إرسال أي شيء تلقائيا.
- إذا كان شخص ما قد أبلغ بالفعل عن نفس المشكلة، فإن النافذة تخبرك بذلك (تم الإبلاغ عنه بالفعل كمشكلة #…). فتح المشكلة المبلغ عنها يفتحها ويضع تقريرك في الحافظة، حتى تتمكن من إضافته كتعليق.
الأزرار الأخرى تنسخ التقرير، أو تفتح مجلده، أو تبدأ MDM مرة أخرى.
ما يحتويه التقرير
- ما حدث: الخطأ والمكان في كود MDM حيث حدث.
- المكدس: المكان في كود MDM حيث تعطل أو تجمد، وما كانت تفعله كل الأجزاء الأخرى منه.
- سجل MDM الأخير: على سبيل المثال "الأمر AddUrl" أو "النافذة المفتوحة: add-url".
- النظام: إصدار MDM وكيف قمت بتثبيته، نظام التشغيل الخاص بك وإصداره، المعالج، اللغة والمظهر، وعدد التنزيلات وقوائم الانتظار لديك. هذه مجرد أعداد.
لا يحتوي على:
- عناوين التنزيل أو أسماء الملفات الخاصة بك؛
- اسم المستخدم الخاص بك، والذي يظهر كـ
~في مسارات المجلدات.
إذا كانت رسالة الخطأ تقتبس شيئا كتبته، فإن هذا النص موجود في التقرير، لذا اقرأه قبل الإرسال.
ملف بيانات التعطل (.dmp) هو لقطة لما كان MDM يقوم بتشغيله في تلك اللحظة. يساعد المطورين أكثر، ولكنه يمكن أن يحتوي على أجزاء مما كان MDM يحتفظ به في الذاكرة، مثل عناوين التنزيل. يتم إرفاقه فقط عند تحديد إرفاق بيانات التعطل أيضا.
أين يتم الاحتفاظ بالتقارير
في مجلد بيانات MDM:
crashes\: كل تقرير (.txt) وبيانات العطل الخاصة به (.dmp)؛logs\: سجل MDM (mdm.log، مع السجلات الأقدم كـmdm.1.logوهكذا، 2 ميجابايت لكل منها).
مجلد بيانات MDM هو %APPDATA%\misterdownloadmanager على Windows، و ~/Library/Application Support/misterdownloadmanager على macOS، و ~/.local/share/misterdownloadmanager على Linux. في الوضع المحمول، يكون مجلد data بجوار البرنامج.
يسجل السجل ما يفعله MDM، لذلك يمكن أن يظهر التقرير ما أدى إلى مشكلة. لتسجيل المزيد من التفاصيل، ابدأ MDM بمتغير البيئة MDM_LOG=debug.
للمطورين
كيف يعمل: نسخة ثانية من MDM، المراقب، تبدأ بجانبه مع --crash-monitor. كود العطل موجود في crates/crash و crates/app/src/crash.rs.
- اكتشاف المشاكل. عندما يتعطل MDM (استثناء Windows، إشارة على Linux، استثناء Mach على macOS)، أو يتوقف عن الاستجابة، أو يتجمد، فإنه يطلب من المراقب تفريغا. التجمد هو إطار للنافذة يعمل لأكثر من 8 ثوان، يراه مؤشر مراقبة يتجاهل الوقت المستغرق في وضع السكون. ثم يكتب المراقب تفريغا مصغرا لكل مؤشر ترابط من الخارج، عبر
minidumperوcrash-handler. لا يقوم أي عملية متعطلة بكتابة تفريغها الخاص، وهذا ما تفعله Firefox و Crashpad و Sentry أيضا. - قراءة التفريغ. يقرأ المراقب التفريغ باستخدام
rust-minidumpمن Mozilla. يستخدم رموز Breakpad الخاصة بالإصدار عند العثور عليها، أو معلومات التصحيح الأصلية بجانب بناء من المصدر. تبقى توقيع التقرير (على سبيل المثالfreeze in misterdownloadmanager::winui::combo_edit) كما هو عبر تقارير مشكلة واحدة، وتبحث النافذة عن المشاكل الموجودة بناء عليه. - الرموز. تحتفظ إصدارات الإصدار بجداول الأسطر (
debug = "line-tables-only")، ولكن لا يتضمن أي تنزيل معلومات التصحيح. يقوم CI بتحويلها إلىMisterDownloadManager-<version>-symbols-<platform>.zip(tools/installer/symbols.py، باستخدامdump_symsمن Mozilla)، ويتم نشرها بجانب ملفات الإصدار الأخرى. تسترد نافذة التقرير ملف zip لإصدارها الخاص عندما تعرض المكدس عناوين مجردة. - مقتطف
.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