دیباگر یا اشکال یاب Debugger
دیباگر یا Debugger چیست؟
دیباگر (Debugger) یک نرمافزار رایانهای است که به منظور تست و اشکال زدایی نرمافزارهای دیگر مورد استفاده قرار میگیرد. در زبان فارسی از واژه های عیب یاب یا اشکال یاب و اشکال زدا به عنوان معادلهایی برای این اصطلاح استفاده میشود.
با کمک این ابزار، توسعه دهنده میتواند یک برنامه را گام به گام (Step by Step) اجرا نماید و یا با کمک نقاط وقفه (breakpoint) یا هنگام وقوع رخدادی معین، اجرای برنامه را متوقف نموده و وضعیت کنونی متغیرها را مورد بررسی و پایش قرار دهد. علاوه بر این بسیاری از دیباگرها حین اجرای برنامه امکان تغییر وضعیت برنامه، مقدار متغیرها و حتی تغییر مکان کنونی اجرا را فراهم میآورند و در اغلب اوقات میتوانند سیر طبیعی اجرا را با تغییرات اعمال شده ادامه دهند بدون آنکه نیازی به خروج از دیباگر یا اجرای مجدد برنامه وجود داشته باشد.
وقتی برنامه مورد اشکال زدایی در وضعیتی قرار میگیرد که به دلایلی (از جمله وجود باگ) قادر به ادامه اجرای نرمال نمیباشد یک اشکال یاب رایج میتواند مکانی در سورس کد که باعث بروز مشکل شده است را به توسعه دهنده نمایش دهد. طبیعتا در کنار مزیتهای موجود، اجرای برنامه با استفاده چنین ابزارهایی نسبت به اجرای مستقیم آن از سرعت کمتری برخوردار خواهد بود. هرچند برخی از دیباگرها برای صرفهجویی در مصرف منابع از واسط های کاربری مبتنی بر خط فرمان بهره میبرند اما اغلب توسعهدهندگان، اشکال زدایی از طریق یک واسط کاربری گرافیکی را ترجیح میدهند.
Microsoft Visual Studio Debugger از دیباگرهای رایج و قدرتمندی است که به صورت پیشفرض همراه با مایکروسافت ویژوال استودیو قابل استفاده میباشد. در نسخههای جدید این اشکال یاب، افزون بر قابلیتهای معمول، امکان اشکال زدایی از راه دور و ایجاد نقاط وقفه پیشرفته (مانند نقاط وقفه شرطی) فراهم شده است. لازم به ذکر است کارشناسی که فرایند اشکال یابی و رفع اشکال یک نرمافزار رایانهای را بر عهده دارد نیز Debugger نامیده میشود.