بایگانی برچسب‌ها : اشکال زدا

نقطه وقفه Breakpoint

نقطه وقفه یا Breakpoint چیست؟

نقطه وقفه یا نقطه انفصال (Breakpoint) به مکان توقف یا مکث عمدی در سورس کد یک برنامه گفته می‌شود. از وقفه‌های حاصل از این نوع نقاط به منظور اشکال زدایی برنامه در آن مکان استفاده می‌شود.

در واقع نقاط وقفه ابزاری هستند که به توسعه دهنده کمک می‌کنند تا در یک لحظه‌ی خاص یا هنگام رسیدن به یک دستور معین، اطلاعات مورد نیاز نسبت به وضعیت برنامه را به دست آورد، مقدار متغیرها را بررسی کرده، در صورت لزوم تغییرات مورد نیاز را اعمال نموده و اجرای برنامه را از همان نقطه ادامه دهد (البته این اجرای پس از وقفه علاوه بر نوع تغییرات به ویژگی‌های اشکال‌زدا (Debugger) نیز بستگی دارد اما در اکثر اشکال‌زداهای امروزی از این قابلیت پشتیبانی می‌شود). معمولا برای پیاده‌سازی نقاط انفصال به صورت نرم‌افزاری، دستوری در نقطه متناظر قرار داده می‌شود که اشکال زدا را فراخوانی می‌کند. در مدل دیگر، یک دستور نامعتبر در مکان مربوطه قرار می‌گیرد که منجر به بروز وقفه‌ای عمدی در اجرای برنامه می‌شود و طبیعتا اشکال زدا مدیریت آن را برعهده خواهد گرفت.

معمولا از نقاط انفصال برای توقف اجرای برنامه، درست پیش از رسیدن به یک دستور (Instruction) معین استفاده می‌شود. به این نوع نقاط وقفه Instruction Breakpoint (نقطه وقفه دستوری) گفته می‌شود. نوع دیگری از نقاط وقفه نیز وجود دارد که تنها در صورت برآورده شدن یک شرط (صحت یک عبارت)، اجرای برنامه را متوقف می‌کنند. این نوع نقاط وقفه را Conditional Breakpoint (نقطه وقفه شرطی) می‌نامند.

در ویژوال استادیو با کلیک روی نوار سمت چپ ویرایشگر کد می‌توانید به سادگی یک Breakpoint معمولی، در خط متناظر با آن ایجاد نمایید. در سایر دیباگرها نیز روش مشابهی برای ایجاد نقطه‌ی وقفه درنظر گرفته شده است.

نقطه وقفه Breakpoint
نمونه‌ای از نقاط وقفه (Breakpoint) در دیباگر ویژوال استادیو که به خط ششم اشاره می‌کند. به رنگ متمایز این خط و دایره توپری که در نوار سمت چپ این خط قرار گرفته است توجه کنید.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

اشکال زدا Debugger

اشکال زدا یا Debugger چیست؟

اشکال زدا یا دیباگر (Debugger) یک نرم‌افزار رایانه‌ای است که به منظور تست و اشکال زدایی نرم‌افزارهای دیگر مورد استفاده قرار می‌گیرد.

با کمک این ابزار، توسعه دهنده می‌تواند یک برنامه را گام به گام (Step by Step) اجرا نماید و یا با کمک نقاط وقفه (breakpoint) یا هنگام وقوع رخدادی معین، اجرای برنامه را متوقف نموده و وضعیت کنونی متغیرها را مورد بررسی و پایش قرار دهد. علاوه بر این بسیاری از دیباگرها حین اجرای برنامه امکان تغییر وضعیت برنامه، مقدار متغیرها و حتی تغییر مکان کنونی اجرا را فراهم می‌آورند و در اغلب اوقات می‌توانند سیر طبیعی اجرا را با تغییرات اعمال شده ادامه دهند بدون آنکه نیازی به خروج از دیباگر یا اجرای مجدد برنامه وجود داشته باشد.

وقتی برنامه‌ی مورد اشکال زدایی در وضعیتی قرار می‌گیرد که به دلایلی (از جمله وجود باگ) قادر به ادامه اجرای نرمال نمی‌باشد یک اشکال زدای رایج می‌تواند مکانی در سورس کد که باعث بروز مشکل شده است را به توسعه دهنده نمایش دهد. طبیعتا در کنار مزیت‌های موجود، اجرای برنامه با استفاده چنین ابزارهایی نسبت به اجرای مستقیم آن از سرعت کمتری برخوردار خواهد بود. هرچند برخی از دیباگرها برای صرفه‌جویی در مصرف منابع از واسط های کاربری مبتنی بر خط فرمان بهره می‌برند اما اغلب توسعه‌دهندگان، اشکال زدایی از طریق یک واسط کاربری گرافیکی را ترجیح می‌دهند.

Microsoft Visual Studio Debugger از اشکال زداهای رایج و قدرتمندی است که به صورت پیش‌فرض همراه با مایکروسافت ویژوال استادیو قابل استفاده می‌باشد. در نسخه‌های جدید این اشکال زدا، افزون بر قابلیت‌های معمول، امکان اشکال زدایی از راه دور و ایجاد نقاط وقفه پیشرفته (مانند نقاط وقفه شرطی) فراهم شده است. لازم به ذکر است کارشناسی که فرایند اشکال زدایی یک نرم‌افزار رایانه‌ای را بر عهده دارد نیز Debugger نامیده می‌شود.