تتبع أخطاء تطبيق Service Fabric باستخدام Visual Studio

تتبع أخطاء تطبيق Service Fabric المحلي

هام

تصحيح الأخطاء عن بُعد غير مدعوم في VS 2022

يمكنك توفير الوقت والمال عن طريق توزيع تطبيق Azure Service Fabric وتتبع أخطاؤه في مجموعة تطوير كمبيوتر محلي. يستطيع Visual Studio 2019 أو 2015 توزيع التطبيق على نظام المجموعة المحلية وتوصيل متتبع الأخطاء تلقائيا بجميع مثيلات التطبيق الخاص بك. يجب تشغيل Visual Studio كمسؤول لتوصيل متتبع الأخطاء.

  1. بدء تشغيل نظام مجموعة تطوير محلية باتباع الخطوات الواردة في إعداد بيئة تطوير Service Fabric خاصتك.

  2. اضغط F5 أو انقر فوق تتبع الأخطاء>بدء تتبع الأخطاء.

    لقطة شاشة تعرض قائمة تتبع الأخطاء.

  3. قم بتعيين نقاط التوقف في التعليمات البرمجية الخاصة بك والتنقل عبر التطبيق بالنقر فوق الأوامر في قائمة تتبع الأخطاء.

    ملاحظة

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

  4. سيتم فتح نافذة الأحداث التشخيصية تلقائيا حتى تتمكن من عرض الأحداث التشخيصية في الوقت الفعلي.

    عرض الأحداث التشخيصية في الوقت الحقيقي

  5. يمكنك أيضا فتح نافذة الأحداث التشخيصية في Cloud Explorer. ضمن Service Fabric، انقر بزر الماوس الأيمن فوق أي عقدة واختر عرض Streaming Traces.

    فتح نافذة الأحداث التشخيصية

    إذا كنت تريد تصفية التتبع إلى خدمة أو تطبيق معين، فقم بتمكين عمليات تتبع دفق البيانات على تلك الخدمة أو التطبيق المحدد.

  6. يمكن رؤية الأحداث التشخيصية في ملف ServiceEventSource.cs الذي تم إنشاؤه تلقائيا ويتم استدعاؤها من التعليمات البرمجية للتطبيق.

    ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
    
  7. تدعم نافذة الأحداث التشخيصية تصفية الأحداث وإيقافها مؤقتا وفحصها في الوقت الفعلي. عامل التصفية عبارة عن بحث بسيط عن سلسلة رسالة الحدث، بما في ذلك محتوياتها.

    تصفية الأحداث أو إيقافها مؤقتا واستئنافها أو فحصها في الوقت الفعلي

  8. خدمات تصحيح الأخطاء تشبه عمليات التصحيح في أي تطبيق آخر. ستقوم بتعيين Breakpoints كما تعودت من خلال Visual Studio لتصحيح الأخطاء بسهولة. على الرغم من أن المجموعات الموثوقة تتماثل عبر عقد متعددة، إلا أنها لا تزال تنفذ IEnumerable. يعني هذا التنفيذ أنه يمكنك استخدام طريقة عرض النتائج في Visual Studio أثناء تتبع الأخطاء لمعرفة ما قمت بتخزينه بداخله. للقيام بذلك، قم بتعيين نقطة توقف في أي مكان في التعليمات البرمجية الخاصة بك.

    بدء تصحيح أخطاء أحد التطبيقات

تشغيل برنامج نصي كجزء من تصحيح الأخطاء

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

في Visual Studio، يمكنك إضافة ملف يسمى Start-Service.ps1 في مجلد البرامج النصية لمشروع تطبيق Service Fabric (.sfproj). سيتم استدعاء هذا البرنامج النصي بعد إنشاء التطبيق في نظام مجموعة محلية.

تتبع أخطاء تطبيق Service Fabric المحلي

إذا كانت تطبيقات Service Fabric قيد التشغيل على نظام مجموعة Service Fabric في Azure، فيمكنك تتبع أخطاء هذه التطبيقات عن بعد، مباشرة من Visual Studio.

ملاحظة

تتطلب الميزة Service Fabric SDK 2.0 و Azure SDK لـ .NET 2.9.

تحذير

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

  1. انتقل إلى مجموعتك في Cloud Explorer. انقر بزر الماوس الأيمن واختر تمكين تصحيح الأخطاء

    تمكين تصحيح الأخطاء عن بعد

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

  2. انقر بزر الماوس الأيمن فوق عقدة نظام المجموعة في Cloud Explorer، واختر إرفاق مصحح الأخطاء

    إرفاق مصحح الأخطاء

  3. في مربع الحوار إرفاق بالعملية، اختر العملية التي تريد تتبع الأخطاء بها، وانقر فوق إرفاق

    اختيار عملية

    اسم العملية التي تريد إرفاقها بها يكافئ اسم تجميع اسم مشروع الخدمة.

    سيتم إرفاق مصحح الأخطاء بجميع العقد التي تقوم بتشغيل العملية.

    • في حالة تصحيح أخطاء خدمة بدون حالة، تكون جميع مثيلات الخدمة على جميع العقد جزءا من جلسة تتبع الأخطاء.

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

    • لتحديد الأقسام أو المثيلات ذات الصلة لخدمة معينة، يمكنك استخدام نقاط التوقف الشرطية لمقاطعة قسم أو مثيل معين فقط.

      نقطة توقف شرطية

      ملاحظة

      حاليا لا يتوفر دعم تصحيح أخطاء مجموعة Service Fabric باستخدام مثيلات متعددة بنفس الاسم القابل لتنفيذ الخدمة.

  4. بمجرد الانتهاء من تصحيح أخطاء التطبيق الخاص بك، يمكنك تعطيل ملحق تصحيح الأخطاء عن بعد بالنقر بزر الماوس الأيمن فوق نظام المجموعة في Cloud Explorer واختيار تعطيل تصحيح الأخطاء

    تعطيل تصحيح الأخطاء عن بعد

تتبع دفق البيانات من عقدة نظام مجموعة بعيدة

يمكنك أيضا دفق أحداث تتبع مباشرة من عقدة مجموعة بعيدة إلى Visual Studio. تتيح لك هذه الميزة دفق أحداث تتبع ETW، التي يتم إنتاجها على عقدة نظام مجموعة Service Fabric.

ملاحظة

تتطلب الميزة Service Fabric SDK 2.0 و Azure SDK لـ .NET 2.9. تدعم هذه الميزة نظام المجموعة التي تعمل في Azure فقط.

تحذير

تتبع دفق البيانات تصحيح الأخطاء عن بعد إلى سيناريوهات التطوير/الاختبار وعدم استخدامه في بيئات الإنتاج، بسبب التأثير على التطبيقات قيد التشغيل. في سيناريو الإنتاج، يجب أن تعتمد على إعادة توجيه الأحداث باستخدام Azure Diagnostics.

  1. انتقل إلى مجموعتك في Cloud Explorer. انقر بزر الماوس الأيمن واختر تمكين عمليات تتبع دفق البيانات

    تمكين تتبعات البث عن بعد

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

  2. قم بتوسيع عنصر العقد في Cloud Explorer، وانقر بزر الماوس الأيمن فوق العقدة التي تريد دفق الآثار منها واختر عرض Streaming Traces

    عرض تتبعات البث عن بعد

    كرر الخطوة 2 مع أكبر عدد تريده من العقد التي ترغب في تتبع دفق البيانات منها. سيظهر دفق العقد في نافذة مخصصة.

    يمكنك الآن رؤية تتبع المكدس من Service Fabric وخدماتك. إذا كنت ترغب في تصفية الأحداث لإظهار تطبيق معين فقط، فقط اكتب اسم التطبيق في عامل التصفية.

    عرض تتبعات الدفق

  3. بمجرد الانتهاء من تتبع دفق البيانات من نظام مجموعتك، يمكنك تعطيل تتبع دفق البيانات عن بعد، بالنقر بزر الماوس الأيمن فوق المجموعة في Cloud Explorer واختيار تعطيل Streaming Traces

    تعطيل تتبعات البث عن بعد

الخطوات التالية