سؤال

ويبدو أن

هي نفسها إلى حد كبير، مع استثناء ملحوظ هو أن تصحيح يتم تجميع الاستخدام في تكوين الإصدار.

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

إذا كنت ستستخدم الكود الخاص بك، فلماذا تستخدمه؟ تصحيح, ، منذ يتعقب يمكن إيقاف دون إعادة الترجمة؟

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

المحلول

والفرق الرئيسي هو الذي تشير إليه:لم يتم تضمين تصحيح الأخطاء في الإصدار، بينما تم تضمين Trace.

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

للإجابة على سؤالك الأخير، لا أستطيع التفكير في سبب لاستخدام Debug لأداة جزء من التعليمات البرمجية التي كنت أنوي إصدارها.

أتمنى أن يساعدك هذا.

نصائح أخرى

يتم استخدام التصحيح لأغراض التصحيح النقي.يصدر رسائل غنية في تنفيذ التصحيح (وضع التصحيح).

يساعد التتبع في تصحيح أخطاء التطبيق وإصلاح الأخطاء وإنشاء ملفات تعريف (بعد الإصدار).

فئة التصحيح ليست ذات فائدة في وضع الإصدار.

والفرق الوحيد بين التتبع والتصحيح هو أن عبارات التتبع يتم تضمينها بشكل افتراضي في البرنامج عندما يتم تجميعها في نسخة إصدار، في حين أن عبارة التصحيح ليست كذلك.

وبالتالي، يتم استخدام فئة التصحيح بشكل أساسي لتصحيح الأخطاء في مرحلة التطوير، بينما يمكن استخدام التتبع لـ الاختبار والتحسين بعد تجميع التطبيق وإصداره.

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

سأفكر في استخدام log4net للتتبع نظرًا لأن إمكانياته أكثر مرونة وقوة.

ولكن بالنسبة لرسائل تصحيح الأخطاء الحقيقية التي لا أنوي أبدًا أن يراها أي شخص آخر غيري أو أحد المختبرين الداخليين، فمن المحتمل أن ألتزم بتصحيح الأخطاء.

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

Debug.WriteLine("Connecting to DB with username: blah and PW: pass");

يمكن لأي شخص يقوم بفك التعليمات البرمجية الخاصة بك رؤية ذلك.ولكن قد يكون هذا أمرًا في غاية الأهمية بالنسبة لك أن تعرفه أثناء الاختبار.

التتبع مختلف.إذا كنت ستقوم بالتتبع، فمن المحتمل أن أستخدم log4net فقط.

هذا هو الفرق الكامل بين التتبع والتصحيح:يستخدم كل من Debug وTrace مساحة الاسم System.Diagnostics.

تصحيح

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

يتعقب

  • ويستخدم فئة التتبع.
  • يتضمن بيان التتبع بشكل افتراضي عندما يتم تجميع البرنامج في الإصدار الذي تم إصداره.
  • يتم استخدام فئة التتبع للاختبار والتحسين حتى بعد تجميع التطبيق وإصداره.
  • تعمل فئة التتبع في كلتا الحالتين في وضع التصحيح وفي وضع الإصدار.
  • يتم تشغيل التتبع في شكل خيط مختلف للبرنامج الرئيسي لتنفيذ الخيط.
  • بالنسبة للتتبع، يمكننا استخدام طريقة Trace.Write().
  • يستخدم وقت نشر التطبيق.

مرجع : زاوية سي شارب

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