الإبلاغ عن أخطاء ويندوز

الإبلاغ عن أخطاء ويندوز أو Windows Error Reporting (WER) (يطلق عليها أيضاً اسم Watson) هي تقنية ووظيفة للإبلاغ عن الأعطال مقدمة من شركة Microsoft مع نظام التشغيل Windows XP  ويتم تضمينها أيضاً في إصدارات Windows الأحدث وWindows Mobile 5.0 و 6.0.

من المهم عدم الخلط بين وظيفة الإبلاغ عن الأخطاء هذه وبين أداة تصحيح الأخطاء Dr. Watson التي تركت تفريغ الذاكرة على الجهاز المحلي للمستخدم، حيث تقوم خدمة Windows Error Reporting بجمع وعرض إرسال معلومات تصحيح الأخطاء بعد تنفيذ الخطأ (تفريغ ذاكرة) باستخدام الإنترنت إلى Microsoft أو عملية توقف عن الاستجابة على سطح مكتب المستخدم. ومن المهم الذكر بأنه لا يتم إرسال أية بيانات في عمليات الإبلاغ هذه دون موافقة المستخدم نفسه. عندما يصل تفريغ (أو معلومات توقيع خطأ أخرى) إلى خادم Microsoft ، يتم تحليله ويتم إرسال حل مرة أخرى إلى المستخدم عند توفره. يتم تقديم الحلول باستخدام وظيفة وأداة أخرى تدعى Windows Error Reporting Responses. تعمل خدمة الإبلاغ عن الأخطاء لويندوز كخدمة Windows ويمكن اختياريًا تعطيلها تمامًا متى ماشاء المستخدم. في حالة تعطل خاصية Windows Error Reporting نفسها، عندئذٍ لا يمكن إرسال تقرير عن الخطأ بأن العملية المتعطلة الأصلية قد تم إرسالها على الإطلاق. Kinshuman هو المصمم الأصلي لـ Windows Error Reporting في نظام التشغيل Vista وهو نفس التصميم والتنفيذ الموجود في إصدارات ويندوز الحالية.

نبذة تاريخية

ويندوز إكس بي 
قدمت شركة مايكروسوفت أولاً خدمة الإبلاغ عن الخطأ لـ ويندوز مع نظام التشغيل Windows XP .

ويندوز فيستا 
تم تحسين الإبلاغ عن أخطاء ويندوز بشكل ملحوظ في نظام التشغيل Windows Vista . والأهم من ذلك، أنه تم إنشاء مجموعة جديدة من واجهات برمجة التطبيقات (APIs) العامة للإبلاغ عن حالات الفشل بخلاف تعطل التطبيقات وتوقفها. يمكن للمطورين إنشاء تقارير مخصصة وتخصيص واجهة مستخدم إعداد التقارير. يتم توثيق واجهات برمجة التطبيقات الجديدة في MSDN. تم تجديد بنية وهندسة Windows Error Reporting مع التركيز على خواص ومعايير الموثوقية وتجربة المستخدم. يمكن لخدمة الإبلاغ عن أخطاء ويندوز الآن الإبلاغ عن الأخطاء حتى عندما تكون العملية في حالة سيئة للغاية، على سبيل المثال، إذا واجهت العملية استنفاد مكدس، وفساد PEB / TEB ، وإفساد الكومة، إلخ. في أنظمة التشغيل السابقة قبل Windows Vista ، يتم إنهاء العملية عادةً بصمت دون إنشاء تقرير خطأ في هذه الظروف. كما تم تقديم برنامج لوحة تحكم جديد، «تقارير المشكلات وحلولها»، مع الاحتفاظ بسجل لأخطاء النظام والتطبيقات والمشاكل، بالإضافة إلى تقديم حلول محتملة للمشاكل.

ويندوز 7 
تم استبدال التطبيق الصغير من "لوحة تحكم تقارير وحلول المشكلات " بقسم الصيانة في "مركز إجراءات Windows" على نظامي التشغيل Windows 7 وServer 2008 R2 .

يتوفر تطبيق جديد يسمى بـ، Problem Steps Recorder (PSR.exe) ، على جميع تصميمات Windows 7 ، ويمكّن من جمع وتصوير وتسجيل الإجراءات التي يقوم بها المستخدم أثناء مواجهته لحادث تعطل (مشكلة تقنية)، بحيث يمكن للمختبرين والمطورين إنتاج الموقف لتحليله وتصحيح الأخطاء.

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

يتم إرسال الأخطاء التي يتم جمعها بواسطة عملاء WER إلى خدمة WER. توظف خدمة WER حوالي 60 خادمًا متصلة بشبكة منطقة تخزين سعة 65 تيرابايت تخزن قاعدة بيانات تقرير الخطأ وشبكة تخزين سعة 120 تيرابايت تخزن ما يصل إلى 6 أشهر من ملفات CAB الخام. يتم توفير الخدمة لتلقي ومعالجة أكثر من 100 مليون تقرير خطأ يوميًا، وهو ما يكفي للبقاء على قيد الحياة مع الأحداث العالمية المرتبطة مثل ديدان الإنترنت.

المجموعات 
في نظام Microsoft Windows Error Reporting (WER)، يتم تنظيم تقارير الأعطال وفقًا لـ «مجموعات». تصنف المجموعات القضايا حسب:

 اسم التطبيق،
 إصدار التطبيق،
 تاريخ بناء التطبيق،
 اسم الوحدة،
 نسخة الوحدة،
 تاريخ بناء الوحدة،
 رمز استثناء نظام التشغيل  / رمز خطأ النظام، 
 وحدة رمز الإزاحة.

من الناحية المثالية، تحتوي كل مجموعة على تقارير الأعطال الناتجة عن نفس الخطأ. ومع ذلك، هناك نوعان من الضعف في مجموعات WER ، أولاً: نقاط الضعف في الاستدلال التكثيفي، والتي تؤدي إلى رسم الخرائط للتقارير من الشوائب في عدد كبير جدا من المجموعات. على سبيل المثال، إذا قمت بترجمة التطبيق الخاص بك مرة أخرى دون أي تغييرات، فسيتغير تاريخ إنشاء الوحدة النمطية ولكن سيتم وضع نفس التعطل في مجموعة أخرى. ثانياً: نقاط الضعف في الاستدلال التوسعي، والتي تؤدي إلى تعيين أكثر من خطأ في نفس المجموعة. على سبيل المثال، في حالة تعطل عطلان مختلفان داخل دالة strlen ، فلن يكون هناك سوى مجموعة واحد لكليهما. يحدث هذا بسبب إنشاء المجموعة على عميل نظام التشغيل ويندوز دون إجراء أي تحليل للرموز على تفريغ الذاكرة. الوحدة النمطية التي يتم التقاطها من قبل العميل Windows Error Reporting هي الوحدة النمطية في الجزء العلوي من المكدس. ينتج عن تحقيقات العديد من التقارير وحدة نمطية للخطأ، وهي تختلف عن تحديد المجموعة الأصلي.

برامج الطرف الثالث 
يمكن لمصنّعي البرامج والأجهزة الوصول إلى تقارير الأخطاء الخاصة بهم باستخدام برنامج Microsoft Dev Center لأجهزة سطح المكتب والأجهزة (سابقًا Winqual). للتأكد من أن بيانات الإبلاغ عن الأخطاء تذهب فقط إلى المهندسين المسؤولين عن المنتج، تطلب Microsoft من البائعين المهتمين بالحصول على شهادة VeriSign Class 3 الرقمية أو شهادة DigiCert . الشهادات الرقمية المقدمة من قبل مرخصين (مثل THAWTE ، Comodo ، GlobalSign ، GeoTrust ، Cybertrust ، Entrust ، GoDaddy أو، QuoVadis ، Trustwave ، SecureTrust ، Welles Fargo تعتبر غير مقبولة).

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

التأثير على البرامج المستقبلية 
أبلغت شركة مايكروسوفت أن البيانات التي تم جمعها من Windows Error Reporting قد أحدثت فرقًا كبيرًا في طريقة تطوير البرامج داخليًا. على سبيل المثال، في عام 2002، لاحظ Steve Ballmer أن تقارير الأخطاء مكنت فريق Windows من إصلاح 29 ٪ من جميع أنظمة تشغيل ويندوز وأخطاء XP في نظام التشغيل Windows XP المزود بحزمة الخدمة SP1. تم إصلاح أكثر من نصف أخطاء Microsoft Office XP باستخدام Office XP SP2. يعتمد النجاح جزئيًا على مبدأ قاعدة 80/20 . تكشف بيانات الإبلاغ عن الأخطاء أن هناك مجموعة صغيرة من الأخطاء المسؤولة عن الغالبية العظمى من المشكلات التي يراها المستخدمون. يمكن أن يؤدي إصلاح 20٪ من عيوب التعليمات البرمجية إلى القضاء على 80٪ أو أكثر من المشكلات التي يواجهها المستخدمون. أكد مقال في صحيفة نيويورك تايمز أن بيانات الإبلاغ عن الأخطاء كانت مفيدة في إصلاح المشكلات التي شوهدت في إصدارات ويندوز التجريبية وويندوز فيستا ومايكروسوفت أوفيس 2007 .

مخاوف الخصوصية واستخدامها من قبل وكالة الأمن القومي 
على الرغم من أن مايكروسوفت قد قدمت ضمانات للخصوصية، فإنها تقر بأنه يمكن تضمين معلومات التعريف الشخصية في بيانات الذاكرة والتطبيق التي تم تجميعها في 100-200 كيلوبايت "minidumps" وأن Windows Error Reporting يقوم بجمعها وإرسالها مرة أخرى إلى مايكروسوفت. تقوم مايكروسوفت أنه في حالة إرسال البيانات الشخصية إليهم، فلن يتم استخدامها لتحديد المستخدمين، وفقًا لسياسة الخصوصية لدى شركة مايكروسوفت. ولكن في الإبلاغ عن المشكلات إلى مايكروسوفت، يحتاج المستخدمون إلى الوثوق بشركاء مايكروسوفت أيضًا. تم منح حوالي 450 شريكًا حق الوصول إلى قاعدة بيانات الإبلاغ عن الأخطاء لمشاهدة السجلات المتعلقة ببرامج تشغيل الأجهزة والتطبيقات الخاصة بهم.

الإصدارات القديمة من WER ترسل البيانات دون تشفير؛ يستخدم فقط WER من Windows 8 تشفير TLS. في شهر مارس من عام 2014، أصدرت شركة مايكروسوفت تحديثًا (KB2929733) لنظام التشغيل Windows Vista و 7 و Server 2008 الذي يشفر المرحلة الأولى من WER.

في شهر ديسمبر بعام 2013، وجد مختبر مستقل أن WER يرسل المعلومات تلقائيًا إلى مايكروسوفت عند توصيل جهاز USB جديد بالكمبيوتر.

وفقًا لـ Der Spiegel ، تم استغلال مراسل الأعطال في مايكروسوفت بواسطة وحدة TAO التابعة لوكالة الأمن القومي لاختراق أجهزة الكمبيوتر التابعة للأمانة العامة للمكسيك. وفقًا للمصدر نفسه، يتم حصاد تقارير تعطل مايكروسوفت تلقائيًا في قاعدة بيانات XKeyscore التابعة لوكالة الأمن القومي، من أجل تسهيل هذه العمليات.

المراجع 

شذوذ البرمجيات
مكونات مايكروسوفت ويندوز