کار با نقاط شکست و ابزارهای اشکال زدایی

کار با نقاط شکست و ابزارهای اشکال زدایی

کار با نقاط شکست و ابزارهای اشکال زدایی
می‌توانید خطوط کدی را علامت‌گذاری کنید که اجرای آزمایشی برنامه باید در آن‌جا متوقف شود. این ممکن است برای مثال، برای اطمینان از اینکه یک روش واقعاً وارد یک if-state می‌شود، برای اطمینان از اینکه یک روش واقعاً اجرا شده است، و برای بازرسی یا تغییر مقادیر متغیرهای محلی برای اهداف اشکال‌زدایی مفید باشد. می‌توانید با افزودن نقطه شکست به یک خط، با کلیک بر روی حاشیه سمت چپ شماره‌های خط، با کلیک راست روی شماره خط و انتخاب Add Breakpoint ، یا با فشار دادن Ctrl+B در حین روشن بودن، یک خط کد را علامت‌گذاری کنید. خطی که می خواهید نقطه شکست اضافه کنید. سپس حاشیه با یک نقطه قرمز مشخص می شود که نقطه شکست را نشان می دهد. توجه داشته باشید که با کلیک کردن در کنار یک خط خالی، نقطه انفصال اضافه نمی شود – خط باید حاوی یک عبارت باشد تا نقطه انفصال منطقی باشد.
شکل 4-9: یک پنجره ویرایشگر روش با نقطه شکست در خط 4.
برای حذف نقطه شکست، دوباره روی آن کلیک کنید، دوباره Ctrl+B را فشار دهید یا روی شماره خط راست کلیک کرده و Remove Breakpoint را انتخاب کنید . با استفاده از دکمه Remove All  ( ) در بخش Breakpoints در تب روبان روش ، همه نقاط شکست را می توان در یک عمل حذف کرد. گاهی اوقات، راحت است که اجرای آزمایشی یک برنامه، نقاط شکست موجود را نادیده بگیرد. در چنین حالتی، روی شماره خط راست کلیک کرده و Disable Breakpoint را انتخاب کنید یا Ctrl+Shift+B را فشار دهید. همچنین می توانید تمام نقاط شکست را با استفاده از غیرفعال کردن همه غیرفعال کنید () دکمه جابجایی. نقاط شکست غیرفعال با یک دایره قرمز خالی زمانی که نقاط شکست منفرد را غیرفعال می کنید و با یک خط سیاه مورب زمانی که همه نقاط شکست را غیرفعال می کنید نشان داده می شوند. دوباره Ctrl+Shift+B را فشار دهید یا دوباره روی دکمه Disable All ( ) کلیک کنید تا به ترتیب یک نقطه شکست منفرد غیرفعال یا برای فعال کردن همه نقاط شکست فعال شود. همچنین می توانید از پنجره Breakpoints برای مدیریت نقاط شکست استفاده کنید. مشاهده و اصلاح همه نقاط شکسترا ببینید.
شکل 4-10: یک نقطه شکست غیرفعال در خط 3 در ویرایشگر برای روش2.
اگر روشی را در حین اجرای آزمایشی یک برنامه اجرا کنید، پنجره Method Editor باز است و متد دارای یک نقطه شکست فعال است، در این صورت اجرای متد در خط نقطه شکست متوقف خواهد شد. سپس کل خط برجسته می شود و دکمه های Continue ( )، Step ( )، Step Into ( ) و Step Out ( ) در زبانه Debug ribbon فعال می شوند. دکمه‌های Continue و Step تنها زمانی در دسترس هستند که اشکال‌زدا متوقف شده باشد .
شکل 4-11: اشکال زدا در یک نقطه شکست متوقف می شود و دکمه های Continue، Step و سایر دکمه های قسمت Debug در دسترس هستند. کد از یک روش debugLog برای چاپ اطلاعات اشکال زدایی در Debug Log استفاده می کند.
اگر روی دکمه Continue کلیک کنید (یا F5 را فشار دهید)، روش تا زمانی که کامل شود یا به نقطه شکست دیگری برسد به کار خود ادامه می دهد. اگر روی دکمه Step کلیک کنید (یا F6 را فشار دهید)، روش تا خط بعدی ادامه می‌یابد، جایی که دوباره متوقف می‌شود و گزینه‌های ادامه یا مرحله را به شما می‌دهد. دکمه Step Into مانند دکمه Step عمل می کند. با این حال، اگر خط حاوی فراخوانی به روش یا روش ابزار دیگری باشد، با کلیک بر روی Step Into (یا فشار دادن F7) به جای ادامه دادن به خط بعدی در روش فعلی، شما را به اولین خط در آن متد می‌برد. روی Step Out (یا Ctrl+F7) کلیک کنید تا از روش فعلی خارج شوید. بر روی Break کلیک کنیددکمه (یا مکث) را فشار دهید تا روش جاری در خط بعدی در کد متد به حالت تعلیق درآید، گویی نقطه شکستی در آنجا وجود داشته است. همچنین یک دکمه Stop وجود دارد که وقتی شروع به اجرای یک روش می کنید در دسترس است. با کلیک کردن (یا فشار دادن Ctrl+Pause) روش فعلی متوقف می شود. اگر بخواهید فوراً اجرای اشکال زدایی را متوقف کنید یا مثلاً روش در یک حلقه بی پایان اجرا شود، می تواند مفید باشد.