مراسل حوادث المرور

معالج أعطال KDE (المعروف أيضًا باسم دكتور كونكي)، وهو برنامج للإبلاغ عن الأعطال في بيئة سطح المكتب KDE

عادةً ما يكون برنامج الإبلاغ عن الأعطال جزءًا من نظام التشغيل، وتتمثل وظيفته في تحديد تفاصيل الأعطال والإبلاغ عنها، والتنبيه عند حدوثها، سواء في بيئة الإنتاج أو في بيئات التطوير/الاختبار. غالبًا ما تتضمن تقارير الأعطال بيانات مثل تتبعات المكدس ، ونوع العطل، والاتجاهات، وإصدار البرنامج. تساعد هذه التقارير مطوري البرامج - تطبيقات الويب، والبرمجيات كخدمة (SaaS)، وتطبيقات الجوال، وغيرها - على تشخيص المشكلة الأساسية المسببة للأعطال وإصلاحها. قد تحتوي تقارير الأعطال على معلومات حساسة مثل كلمات المرور وعناوين البريد الإلكتروني ومعلومات الاتصال، ولذلك أصبحت محط اهتمام الباحثين في مجال أمن الحاسوب. [ 1 ]

أصبح تطبيق أدوات الإبلاغ عن الأعطال كجزء من دورة التطوير معيارًا، وأصبحت أدوات الإبلاغ عن الأعطال سلعة، ويتم تقديم العديد منها مجانًا، مثل Crashlytics .

دخلت العديد من الشركات العملاقة في مجال تطوير البرمجيات، والتي تُشكّل جزءًا من منظومة تطوير البرمجيات، إلى هذا المجال. وتبذل شركات مثل تويتر وجوجل وغيرها جهودًا حثيثة لتشجيع مطوري البرمجيات على استخدام واجهات برمجة التطبيقات (APIs) الخاصة بها، إدراكًا منها أن ذلك سيزيد من إيراداتها مستقبلًا (عبر الإعلانات وغيرها من الآليات). وإدراكًا منها لضرورة تقديم حلول فعّالة لأكبر عدد ممكن من مشاكل التطوير، وإلا سيتخذ منافسوها إجراءات مماثلة، فإنها تُواصل إضافة ميزات متقدمة. وتُعدّ أدوات الإبلاغ عن الأعطال وظيفة تطويرية بالغة الأهمية تُدرجها الشركات العملاقة ضمن مجموعة حلولها.

تتخصص العديد من أدوات الإبلاغ عن الحوادث في تطبيقات الهاتف المحمول. والعديد منها عبارة عن مجموعات تطوير برمجية (SDKs) .

نظام التشغيل macOS

في نظام macOS، يوجد برنامج قياسي للإبلاغ عن الأعطال في المسار /System/Library/CoreServices/Crash Reporter.app . يرسل هذا البرنامج سجلات أعطال نظام Unix إلى شركة Apple ليقوم مهندسوها بفحصها. يحتوي حقل النص العلوي في النافذة على سجل الأعطال، بينما يُستخدم الحقل السفلي لإضافة تعليقات المستخدم. كما يمكن للمستخدمين نسخ السجل ولصقه في برنامج البريد الإلكتروني الخاص بهم لإرساله إلى مُورّد التطبيق لاستخدامه. يحتوي برنامج Crash Reporter.app على ثلاثة أوضاع رئيسية: عدم عرض أي شيء عند حدوث عطل، أو عرض مربع حوار "تعطل التطبيق" ، أو عرض نافذة تقرير الأعطال.

ويندوز

يتضمن نظام التشغيل مايكروسوفت ويندوز خدمةً للإبلاغ عن الأعطال تُسمى " الإبلاغ عن أخطاء ويندوز" ، والتي تحث المستخدمين على إرسال تقارير الأعطال إلى مايكروسوفت لتحليلها عبر الإنترنت. [ 2 ] تُرسل المعلومات إلى قاعدة بيانات مركزية تديرها مايكروسوفت. تتضمن هذه القاعدة بيانات تشخيصية تُساعد الشركة أو فريق التطوير المسؤول عن العطل على تصحيحه وحل المشكلة إذا رغبوا في ذلك. تتوفر تقارير الأعطال لبرامج الطرف الثالث لمطوري الطرف الثالث الذين منحتهم مايكروسوفت حق الوصول إليها.

يأخذ النظام في الاعتبار جميع مراحل عملية تصحيح الأخطاء وإصدار التحديثات، بحيث يمكن تطبيق إصلاحات الأخطاء المستهدفة عبر تحديثات ويندوز . بعبارة أخرى، لا يُعرض إصلاح الخطأ إلا على المستخدمين الذين يواجهون نوعًا معينًا من الأعطال، مما يحد من انتشار المشكلة.

بحسب مجلة دير شبيغل ، استغلت وحدة عمليات الوصول المُخصصة (TAO) التابعة لوكالة الأمن القومي الأمريكية (NSA) برنامج مايكروسوفت للإبلاغ عن الأعطال لاختراق حواسيب أمانة الأمن العام المكسيكية . ووفقًا للمصدر نفسه، تُجمع تقارير أعطال مايكروسوفت تلقائيًا في قاعدة بيانات XKeyscore التابعة لوكالة الأمن القومي ، لتسهيل مثل هذه العمليات. [ 3 ]

تقرير الأعطال

مكتبة CrashRpt هي مكتبة أخرى للإبلاغ عن الأخطاء في نظام ويندوز . وهي مكتبة خفيفة الوزن ومفتوحة المصدر لمعالجة الأخطاء، مصممة للتطبيقات المبنية باستخدام Microsoft Visual C++ والتي تعمل على نظام ويندوز . يتم توزيع هذه المكتبة بموجب ترخيص New BSD .

يقوم برنامج CrashRpt باعتراض الاستثناءات غير المعالجة ، وإنشاء ملف تفريغ مصغر للعطل، وبناء وصف للعطل بتنسيق XML ، وعرض واجهة للسماح للمستخدم بمراجعة تقرير العطل، وأخيرًا يقوم بضغط تقرير العطل وإرساله إلى فريق دعم البرامج.

يُوفر CrashRpt أيضًا أداة سطر أوامر من جانب الخادم لتحليل تقارير الأعطال تُسمى crprober. تستطيع هذه الأداة قراءة جميع تقارير الأعطال المُستلمة من مجلد مُحدد، وإنشاء ملف مُلخص نصي لكل تقرير. كما تُصنّف تقارير الأعطال المُتشابهة، مما يُسهّل تحديد المشاكل الأكثر شيوعًا. لا تُوفر أداة crprober أي واجهة رسومية، لذا فهي مُبهمة نوعًا ما ويصعب استخدامها.

يوجد أيضًا برنامج خادم مفتوح المصدر يُسمى CrashFix Server، يُمكنه تخزين تقارير الأعطال المُرسلة من مكتبة CrashRpt وتنظيمها وتحليلها. يُمكنه تجميع تقارير الأعطال المُتشابهة، ويحتوي على نظام مُدمج لتتبع الأخطاء، كما يُمكنه إنشاء تقارير إحصائية. يوفر CrashFix Server واجهة مستخدم عبر الويب تُتيح لعدة أعضاء في المشروع التعاون (تحميل رموز تصحيح الأخطاء، واستعراض تقارير الأعطال، وربط الأخطاء بتقارير الأعطال).

لينكس

ABRT

ABRT على فيدورا 31 (2019-10)

أداة ABRT (أداة الإبلاغ الآلي عن الأخطاء) هي أداة للإبلاغ عن الأخطاء مصممة لأنظمة فيدورا وريد هات إنتربرايز لينكس . ولا يخطط مطوروها حاليًا لنقلها إلى توزيعات لينكس أخرى. [ 4 ] تقوم ABRT باعتراض ملفات تفريغ الذاكرة الأساسية أو تتبع الأخطاء من التطبيقات، وبعد تأكيد المستخدم، ترسل تقارير الأخطاء إلى أنظمة تتبع الأخطاء المختلفة، مثل فيدورا باجزيلا. [ 5 ]

متتبع أخطاء أوبونتو

يستضيف نظام أوبونتو نظام تتبع أخطاء عامًا على الموقع errors.ubuntu.com ، والذي يجمع مئات الآلاف من تقارير الأخطاء يوميًا من ملايين الأجهزة. [ 6 ] في حال تعطل برنامج ما على أوبونتو، يقوم معالج الأعطال (مثل Apport) [ 7 ] بإخطار المستخدم وعرض إمكانية الإبلاغ عن العطل. إذا اختار المستخدم الإبلاغ عن العطل، فسيتم تحميل التفاصيل (بما في ذلك ملف تفريغ الذاكرة) إلى خادم أوبونتو ( daisy.ubuntu.com ) لتحليلها. [ 8 ] تتم معالجة ملف تفريغ الذاكرة تلقائيًا لإنشاء تتبع المكدس وتوقيع العطل. يُستخدم توقيع العطل لتصنيف تقارير الأعطال اللاحقة الناتجة عن نفس الخطأ.

جنوم

Bug Buddy في جنوم 2.16

كان Bug Buddy أداةً للإبلاغ عن الأعطال تستخدمها منصة جنوم . فعندما يتعطل تطبيقٌ يستخدم مكتبات جنوم، يُنشئ Bug Buddy تتبعًا للمكدس باستخدام gdb ، ويدعو المستخدم لإرسال التقرير إلى نظام تتبع الأخطاء Bugzilla الخاص بجنوم . ويمكن للمستخدم إضافة تعليقات والاطلاع على تفاصيل تقرير العطل.

KDE

أداة الإبلاغ عن الأعطال التي يستخدمها KDE تُسمى دكتور كونكي . عند تعطل تطبيق يستخدم مكتبات KDE، يُنشئ دكتور كونكي تتبعًا للأخطاء باستخدام gdb، ويدعو المستخدم لإرسال التقرير إلى نظام تتبع الأخطاء الخاص بـ KDE. يمكن للمستخدم إضافة تعليقات والاطلاع على تفاصيل تقرير العطل.

موزيلا

رد الفعل

كان برنامج Talkback (المعروف أيضًا باسم وكيل ملاحظات الجودة ) أداة الإبلاغ عن الأعطال التي استخدمتها برامج موزيلا حتى الإصدار 1.8.1 للإبلاغ عن أعطال منتجاتها إلى خادم مركزي لتجميع البيانات أو تحليل كل حالة على حدة. [ 9 ] Talkback هو برنامج مملوك لشركة موزيلا، مرخص لها من قبل شركة SupportSoft . في حال تعطل أحد منتجات موزيلا (مثل موزيلا فايرفوكس أو موزيلا ثندربيرد ) مع تفعيل Talkback، سيظهر وكيل Talkback، مطالبًا المستخدم بتقديم معلومات اختيارية حول العطل. لا يحل Talkback محل أداة الإبلاغ عن الأعطال الأصلية لنظام التشغيل، والتي ستظهر مع وكيل Talkback في حال تفعيلها. تم استبدال Talkback ببرنامج Breakpad في فايرفوكس منذ الإصدار 3 .

لوحة الفرامل

برنامج Mozilla Crash Reporter على نظام Debian مع واجهة Xfce4

يُعدّ Breakpad (المعروف سابقًا باسم Airbag ) بديلًا مفتوح المصدر لبرنامج Talkback. طُوّر بواسطة جوجل وموزيلا، ويُستخدم في منتجات موزيلا الحالية مثل فايرفوكس وثندربيرد. [ 10 ] [ 11 ] تكمن أهميته في كونه أول نظام مفتوح المصدر للإبلاغ عن الأعطال على منصات متعددة.

منذ عام 2007، أصبح برنامج Breakpad مُدمجًا في متصفح Firefox على أنظمة Windows وMac OS X وLinux. [ 12 ] ويُستخدم Breakpad عادةً مع برنامج Socorro الذي يستقبل ويصنف الأعطال التي يُبلغ عنها المستخدمون.

لا يعد برنامج Breakpad نفسه سوى جزء من نظام الإبلاغ عن الحوادث، حيث أنه لا يتضمن أي آلية للإبلاغ.

كراشباد

كراشباد هو برنامج مفتوح المصدر للإبلاغ عن الأعطال، تستخدمه جوجل في متصفح كروميوم . طُوّر كبديل لبرنامج بريكباد بعد تحديث في نظام macOS 10.10 [ 13 ] أزال واجهات برمجة التطبيقات (APIs ) التي كان يستخدمها بريكباد . يتألف كراشباد حاليًا من عميل للإبلاغ عن الأعطال وبعض الأدوات ذات الصلة لأنظمة macOS وويندوز، ويُعتبر مكتملًا إلى حد كبير لهاتين المنصتين. أصبح كراشباد عميل الإبلاغ عن الأعطال لمتصفح كروميوم على نظام macOS اعتبارًا من مارس 2015، وعلى نظام ويندوز اعتبارًا من نوفمبر 2015. [ 14 ]

أنظمة تشغيل الهواتف المحمولة

يحتوي نظاما التشغيل أندرويد و iOS أيضًا على وظيفة مدمجة للإبلاغ عن الأعطال. [ 15 ] [ 16 ]

مراجع

  1. ساتفات، كيافاش؛ ساكسينا، نيتيش (2018). "انتهاك الخصوصية: تشريح لتقارير الأعطال المسربة لمتصفح ويب". arXiv : 1808.01718 [ cs.CR ].
  2. "استخدام تحليل الأعطال عبر الإنترنت من مايكروسوفت" . مؤرشف من الأصل بتاريخ 2007-01-02.
  3. "وكالة الأمن القومي تستخدم أدوات قوية في محاولة للتجسس على الشبكات العالمية" . دير شبيغل . 29 ديسمبر 2013.
  4. "هل سيدعم ABRT توزيعات لينكس غير RPM؟ · المشكلة رقم 1606 · abrt/abrt" . GitHub . 12 أبريل 2022. تم الاطلاع عليه بتاريخ 11 أغسطس 2022 .
  5. "abrt/README.md at master · abrt/abrt · GitHub" . github.com . تم الاطلاع عليه بتاريخ 4 ديسمبر 2025 .
  6. "متتبع أخطاء أوبونتو" .
  7. معلومات أوبونتو حول Apport ، وهو برنامج لمعالجة الأعطال طوّره مارتن بيت بين عامي 2006 و2010 ، كما هو موضح في محاضرته "نظام Apport لمعالجة الأعطال: إعادة المتعة إلى أخطاء تجزئة الذاكرة". مؤرشف بتاريخ 2 أكتوبر 2016 على موقع Wayback Machine.
  8. "تصميم متتبع الأخطاء" .
  9. "خادم موزيلا توكباك" . تم الاسترجاع في 21-09-2006 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  10. "نشر الوسادة الهوائية" . مدونة بي إس بي . مدونة مطور موزيلا بنيامين سميدبرج.
  11. "استخدام Breakpad مع Gran Paradiso (1.9a3)" . مدونة BSBlog . مدونة مطور Mozilla بنيامين سميدبيرغ.
  12. "الخطأ رقم 381099 - تفعيل خاصية الإبلاغ عن الأعطال افتراضيًا (ويندوز + ماك)" . متتبع الأخطاء في موقع mozilla.org.
  13. "تقديم كراشباد" . تم الاطلاع عليه بتاريخ 2017-08-01 .
  14. "الصفحة الرئيسية لموقع كراشباد" . تم الاطلاع عليه بتاريخ 2017-08-01 .
  15. "أداة جديدة للإبلاغ عن أعطال تطبيقات أندرويد جاهزة للعمل" . 22 مايو 2010. تم الاطلاع عليه بتاريخ 4 يونيو 2011 .
  16. "المذكرة الفنية TN2151" . تم الاطلاع عليها بتاريخ 2011-06-04 .