سؤال

لدي تطبيق Windows قيد الإنتاج منذ فترة، وقمت بإعداده لإرسال تقارير الأخطاء إلينا عندما يطرح استثناءات.معظمها وصفية إلى حد ما وتساعدني في العثور على المشكلة بسرعة كبيرة (أستخدم MS Application Exception Block).

في مناسبات قليلة، كانت لدي تقارير عن مشكلات لا يمكنني إعادة إنتاجها، ويبدو أنها تحدث فقط على عدد قليل من الأجهزة العميلة.

ليس لدي إمكانية الوصول الفعلي إلى هذه الأجهزة العميلة، ما هي بعض الاستراتيجيات التي يمكنني استخدامها لتصحيح الأخطاء؟هل سيكون من الأفضل إنشاء بعض التتبع في الكود، أم أن هناك بعض البدائل الأخرى؟

شكرًا لك.

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

هل كانت مفيدة؟

المحلول

أحد الخيارات هو إنشاء ملف تفريغ (مصغر) بالقرب من النقطة التي يتم طرح الاستثناء فيها قدر الإمكان.هذا شرط يتحدث عن كيفية القيام بذلك من التعليمات البرمجية المُدارة.

يمكنك بعد ذلك تحميل ملف التفريغ إلى Visual Studio أو WinDbg وفحصه باستخدام SOS

نصائح أخرى

كنت على الطريق الصحيح.تحتاج إلى إنشاء وحدة تتبع تسجل الإجراءات/الاستثناءات محليًا.

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

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

أنا دائما استخدم هذا وحدة من جيف للاستثناءات غير المعالجة، أرسل لي بريدًا إلكترونيًا يحتوي على Stacktrace وما إلى ذلك.

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

لديهم أيضًا برنامج خادم يمكن لبرنامجك الاتصال به لحفظ السجلات عندما لا يكون لديك حق الوصول الكامل إلى الأجهزة.على سبيل المثال، يمكن أن يكون لديك خادم يعمل على www.yourdomain.com.سيكون لبرنامجك خيار تكوين لتشغيل تصحيح الأخطاء.سيتم تكوين Smart Inspect لإرسال بيانات السجل إلى الخادم الخاص بك (واختياريًا إلى ملف محلي) حتى تتمكن من الحصول على تسجيل مباشر بغض النظر عن مكان تشغيل البرنامج.

من السهل جدًا تكوين Smart Inspect ويحتوي على العديد من الميزات التي يمكنك استخدامها للمساعدة.لقد استخدمته لتصحيح أخطاء تطبيقات الخادم متعددة الخيوط عالية التأثير بسرعة دون إيقاف تشغيل الأجهزة.يحتوي على جميع الخطافات لتتبع العمليات والخيوط والآلات المختلفة.

سأستفيد من سجل الأحداث.ألق نظرة هنا:

http://support.microsoft.com/kb/307024

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top