مخفی کردن متد در هنگام Debug
یکشنبه 27 اردیبهشت 1394اگر قبل از اجرای یک نرم افزار در قسمتی خاص از دستورات یک BreakPoint قرار دهیم و سپس برنامه را اجرا کنیم , هنگامی که نرم افزار به دستور مورد نظر می رسد به قسمت انتخاب شده باز می گردد و منتظر دستور تایید میشود که خط به خط فرامین را اجرا کند و نمایش دهد .#C این توانایی را در اختیار ما قرار داده تا بتوانیم متدی خاص را در هنگام Debug مخفی کنیم .در ادامه به چگونگی این امکان می پردازیم
DebuggerHidden یکی امکانات موجود در Net. میباشد که مارا در بهبود نرم افزار های تولیدی یاری میکند .برنامه نویسان برای trace کردن نرم افزار خود باید دستورات نرم افزار را خطا یابی (debug) کنند و متدهایی که نمی خواهند trace کنند را می توانند از debug مخفی کنند . خاصیت DebuggerHidden به Debugger موجود در ویژوال استودیو اطلاع می دهد که این متد (متد انتخاب شده توسط برنامه نویس) از فرایند خطایابی مخفی شود .در نهایت زمان خطا یابی را با مخفی کردن برخی متدها می توانیم کاهش دهیم .
هنگامی که شما یک متد را با استفاده از خاصیت ()DebuggerHidden مخفی می کنید , مستقیم به debugger اعلام می کند که در فرایند خطا یابی وارد این قسمت نشود .همچنین نمی توانیم هیچ BreakPoint در این قسمت قرار دهیم .این عمل هنگامی مفید است که برنامه نویس از صحت عملکرد متد خود اطمینان داشته باشد .
یک نکته جالب دیگر در مورد عملکرد این خاصیت , این است که اگر یک متد , متد دیگری که مخفی میباشد را فراخوانی کند و شما بخواهید متد ابتدایی را خطایابی کنید , این امکان در اختیار شما قرار دارد که شما به راحتی میتوانید بدون تداخل در متد مخفی , متد ابتدایی را خطا یابی کنید .
در ادامه می توانید مشاهده کنید که در حالت عادی میتوانیم breakpoint را در هر قسمت قرار دهیم :
اما در قسمت پایین ما دو متد ایجاد کرده ایم , MethodA و MethodB .متد "MethodA" با خاصیت DebuggerHidden تنظیم شده است , سپس در هر دو متد BreakPoint قرار می دهیم .همانطور که در تصویر مشاهده می کنید MethodA توسط خطایاب بررسی نمی شود .اما MethodB بررسی می شود
برای قرار دادن BreakPoint کافیست در ستون سمت چپ در هر قسمت که بخواهیم, کافیست آن قسمت را انتخاب نماییم .
برای خطا یابی (debug) کردن , کافیست نرم افزار را اجرا کنیم , سپس بعد از رسیدن به قسمتی که breakpoint را در آن قرار داده ایم برای خطا یابی خط به خط (trace) از کلید میانبر f10 استفاده می کنیم .
- C#.net
- 2k بازدید
- 1 تشکر