مشخصات مقاله
-
1482
-
0.0
-
5406
-
0
-
0
آموزش اشکال زدایی در ASP.NET
آموزش Debuging
Debug همان آشکار ساختن یا پیدا کردن محل و تصحیح خطاهای منطقی یا دستوری در یک برنامه می باشد.
اشکال زدایی (debugging) به برنامه نویسان اجازه می دهد به صورت مرحله ای عملکرد کدهای خود، چگونگی تغییر مقدار متغیرها و نحوه ی ایجاد و حذف اشیاء را تحت نظر قرار داده و آزمایش کند.
هنگامی که وب سایت برای اولین بار اجرا می شود، ویژوال استودیو یک پنجره ی نمایش می دهد که از شما می پرسد آیا مایلید debugging برای این صفحه فعال شود یا خیر:

پس از فعال سازی اشکال زدایی برای وب سایت، کدهای زیر در فایل web.config قرار گرفته و قابل رویت می باشد:
< system.web >
< compilation debug="true" >
< assemblies >
..............
< /assemblies >
< /compilation >
< /system.web >
نوار ابزار (toolbar) Debug تمامی تجهیزات لازم را برای انجام پروسه ی اشکال زدایی فراهم می کند.

Breakpoint (نقطه ی انفصال)
به منظور تنظیم و تعیین نقطه ی انفصال، روی کد مورد نظر راست کلیک کرده سپس گزینه ی insert breakpoint را انتخاب کنید.
یک نقطه ی قرمز در حاشیه ی سمت چپ خط کد ظاهر شده و به دنبال آن بخشی از کد که مشکل دارد نیز قرمز می شود:

پس از اجرا، می توانید رفتار و عملکرد آن کد مشاهده کنید:

در این مرحله می توانید کد را مرحله به مرحله دنبال کرده، جریان اجرای برنامه را مشاهده کنید، مقدار متغیرها، خاصیت ها (property)، اشیاء و غیره .. را نیز در این خلال بررسی کرده و مورد آزمایش قرار دهید.
می توان خاصیت های (property) نقاط انفصال را اصلاح کرد. این کار از طریق فهرست Properties که با راست کلیک روی گلیف breakpoint باز می شود امکان پذیر می باشد:

پنجره ی محاوره ای که با انتخاب گزینه ی location از فهرست مذکور باز می شود، مکان قرار گیری فایل و تعداد کاراکتر های کد انتخابی را نشان می دهد. جزء قابل گزینش (menu item) condition به شما امکان می دهد یک عبارت (expression) معتبر و مجاز را وارد کنید که با رسیدن program execution (اجرای برنامه) به نقطه ی انفصال ارزیابی می گردد:
جزء قابل گزنیش (menu item) Hit count یک پنجره ی محاوره باز می کندکه تعداد دفعات اجرای breakpoint (نقطه ی انفصال) را نشان می دهد.

کلیک روی هر گزینه ای که توسط فهرست کشویی (dropdown list) ارائه شده باشد یک فیلد ویرایش (edit field) باز می کند که می توان در آن Hit count مقصد را وارد کرد. این کار در تجزیه و تحلیل سازه های حلقه (loop construct) موجود در کد کمک شایان و قابل توجهی می کند.

جز قابل گزنیش (menu item) Filter اجازه ی انتخاب یک فیلتر برای مشخص کردن ماشین ها، فرایندها یا نخ ها (thread) و یا هر ترکیب دیگری که breakpoint برای آن اعمال شده و بکار گرفته می شود، را به برنامه نویس می دهد.

جزء قابل گزنیش When Hit به شما امکان می دهد تصمیم بگیرید در صورت رسیدن به نقطه ی انفصال چه اتفاقی رخ دهد.

پنجره های debug
محیط برنامه نویسی visual studio پنجره هایی برای debug و اشکال زدایی فراهم می کند که هر یک اطلاعاتی درباره ی برنامه در اختیار ما قرار می دهد. جدول زیر هریک از این پنجره ها را همراه با شرح آن ها فهرست می کند:
Call Stack : اکثر کامپایلرها برای فراخوانی و برگشت زیربرنامه فراخوانی پشته (call stack) را پیادهسازی میکنند. Call stack یا run-time stack یک پشته است که اطلاعاتی درباره زیربرنامه فعال یک برنامه را نگهداری میکند. زیربرنامه فعال زیربرنامهای است که فراخوانی شدهاست اما هنوز اجرایش تمام نشدهاست.