سؤال

وايم الخلط ما يزيد قليلا عن كيفية استخدام تتبع NET و الفئات التصحيح.

وماذا كنت تهتم باستخدام تتبع بدلا من التصحيح؟

Trace.TraceError()
Trace.TraceInformation()
Trace.Assert()

Debug.WriteLine()
Debug.Assert()

وأيضا، وأنا أفهم أن تصريحات التصحيح يتم تجاهل عندما الخاص بك في وضع التكوين الإصدار، ولكن إذا بيانات التتبع تنطبق في كل وقت، وكيف يؤثر ذلك على الأداء؟

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

المحلول

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

والطريق Trace له أثر تخصيص المستمعين، والتي يمكن هوى في طريق التكوين. يذهب Debug عموما إلى المصحح كما المستمع. بالطبع، هناك أنظمة التتبع 3rd الطرف التي تقدم مرونة أكبر.

نصائح أخرى

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

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

وكما قلت، يتم تنفيذها المكالمات تتبع فقط عندما تكون في وضع الإصدار. تجميع في وضع الإصدار لديه بعض مزايا الأداء التي قد ترغب في تطبيق نهاية، وربما تكون هناك أسباب أخرى تريد تشغيل وضع الإصدار. ومع ذلك، قد تكون هناك أوقات عندما كنت ترغب في تسجيل المعلومات إلى وحدة التتبع التي يمكن عرضها مع التطبيقات مثل <وأ href = "http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx" يختلط = "نوفولو noreferrer"> SysInternal في DbgView . عادة ما تكون هذه الرسائل التي لا تريد بالضرورة لإرسالها إلى إخراج سجل، أو التي تريد دائما أن يكون متاحا لأغراض التصحيح حتى لو تحولت للمستخدم تشغيل تسجيل.

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

ولقد تميل إلى استخدام تتبع (مع TraceSwitch أخرى المرتبطة بها) لجهود تسجيل في بيئات الإفراج - على قرص سريع للapp.config يمكن بعد ذلك تعطي مستويات مختلفة من قطع الأشجار دون الحاجة إلى إعادة تصنيف (والتي قد تجعل مشكلة الذهاب بعيدا على أي حال) أو الحاجة لإرفاق المصحح. مفيد خاصة بالنسبة للقضايا التي تحدث فقط على أجهزة العميل لأي سبب من الأسباب - لقد استعملت هذا تفريغ بنجاح تسجيل الخروج من فئة FTP (مرة أخرى في إطار 1.1 الأيام الخوالي) للمساعدة في تشخيص القضايا شبكة نقل بين شركتين

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