اشکال زدایی Debugging

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

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

اشکال‌زدایی در واقع یکی از مراحل فرایند توسعه‌ی نرم‌افزار (Software Development) به شمار می‌رود و می‌تواند شامل برطرف کردن خطاهای ساده تا نظارت روی عملکرد سیستم، بررسی وضعیت مموری هنگام بروز یک خطا و … شود.

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

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

واژه‌های مرتبط

اشکال زدا Debugger اشکال زدا یا Debugger چیست؟ اشکال زدا یا دیباگر (Debugger) یک نرم‌افزار رایانه‌ای است که به منظور تست و اشکال زدایی نرم‌افزارهای دیگر مورد استفاده قر...
نقطه وقفه Breakpoint نقطه وقفه یا Breakpoint چیست؟ نقطه وقفه یا نقطه انفصال (Breakpoint) به مکان توقف یا مکث عمدی در سورس کد یک برنامه گفته می‌شود. از وقفه‌های حاصل از ای...
توسعه دهنده Developer توسعه دهنده یا Developer به چه معناست؟ توسعه دهنده نرم افزار (Software developer) به فردی اطلاق می‌شود که می‌تواند بخشی یا تمام وجوه مختلف تولید و ای...
باگ Bug باگ یا Bug چیست؟ باگ (Bug)، در دنیای رایانه به بروز خطا، اشتباه یا نقص در یک برنامه‌ی رایانه‌ای یا سیستم سخت افزاری مربوط می‌شود که منجر به بروز نتای...
نوع داده Data Type نوع داده یا Data Type چیست؟ نوع داده (Data Type) در برنامه‌نویسی، یک دسته‌بندی برای داده‌هاست که به کامپایلر یا مفسر اعلام می‌کند داده موردنظر به چه ...
عملگر کاهش Decrement Operator عملگر کاهش یا Decrement Operator چیست؟ عملگر کاهش (Decrement Operator) عملگری یکانی است که عملوند خود را یک واحد کاهش می‌دهد. هر چند این عمل به صورت ...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *