دیباگ کردن در برنامه نویسی به چه معنا است؟

دیباگ کردن در برنامه نویسی به چه معنا است؟

"اشکال زدایی، در برنامه نویسی و مهندسی رایانه ، یک فرایند چند مرحله ای است که شامل شناسایی یک مشکل، مشخص کردن مکان آن ، و سپس اصلاح مشکل یا تعیین راهی برای حل آن است. آخرین مرحله اشکال زدایی این است که اصلاح یا راه حل را آزمایش کرده و مطمئن شوید که کار می کند."

 

در توسعه نرم افزار، فرآیند اشکال زدایی زمانی آغاز می شود که توسعه دهنده، خطای موجود را در برنامه کامپیوتری پیدا کرده و بتواند آن را بازتولید کند. اشکال زدایی بخشی از فرایند تست نرم افزار و بخشی جدایی ناپذیر از کل چرخه عمر توسعه نرم افزار است.

در توسعه سخت افزار، فرآیند اشکال زدایی معمولاً به دنبال اجزای سخت افزاری است که به درستی نصب یا پیکربندی نشده اند. به عنوان مثال، یک مهندس ممکن است آزمایش اتصال JTAG را برای اشکال زدایی اتصالات در یک مدار مجتمع اجرا کند.

به طور کلی، ما معمولاً چند نوع مشکل در برنامه‌های خود داریم که عبارتند از:

- ارورهای سینتکسی: به نوشتار کدهای یک زبان برنامه نویسی Syntax گفته می شود. گاهی اوقات برنامه نویسان در حین نوشتن برخی دستورات، غلط املایی مرتکب می شوند. مثلاً به جای نوشتن دستور print، می‌نویسند pritn. در برخی زبان‌ها مثل HTML و CSS مرتکب شدن چنین خطاهایی خیلی مشکل ساز نیست اما برخی از دیگر زبان‌ها مثل PHP و Python با ارورهای سنتکسی خیلی مشکل دارند و برنامه هرگز اجرا نخواهد شد.

- ارورهای سمنتیک: این دست ارورها زمانی رخ می‌دهند که کدهای شما درست است اما نتیجه ی مطلوب را دریافت نمی‌کنید مثل زمانی که عددی را بر صفر تقسیم کنید (در ریاضیات چنین عملی امکان پذیر نیست!)

- ارورهای منطقی: این دست از ارورها یا مشکلات جزو ارورهای سخت هستند و شاید یک برنامه نویس روزها و شاید هفته‌ها برای یافتن آن‌ها می بایست زمان بگذارد. سینتکس برنامه درست است و برنامه می بایست همان‌ طور که انتظار می‌رود اجرا شود اما واقعیت این گونه نیست! فرض کنیم که یک فروشگاه آنلاین داریم و زمانی که مشتری به سبد خرید خود می رود، برنامه‌ای که ما نوشته‌ایم جمع سبد خرید را اشتباه در معرض دید وی قرار می دهد.

 

چالش های دیباگ کردن

فرآیند اشکال زدایی می تواند بسیار دشوار باشد، این فرایند می تواند به خصوص زمانی چالش برانگیز باشد که:

  • اثرات منفی خطای برنامه نویسی روشن است، اما علت آن مشخص نیست.

  • بازتولید اثر منفی خطای برنامه نویسی دشوار است.

  • وابستگی ها مشخص نیست، بنابراین رفع خطای برنامه نویسی در یک قسمت از برنامه به طور تصادفی خطاهای جدیدی را در قسمت های دیگر برنامه ایجاد می کند.

 

تاریخچه

استفاده از کلمه bug به عنوان مترادف خطا در مهندسی ایجاد شده است. کاربرد این اصطلاح در محاسبات و الهام گرفتن از کلمه اشکال زدایی به عنوان مترادف عیب یابی، به دریادار گریس هاپر، پیشگام برنامه نویسی رایانه نسبت داده شده است. هنگامی که یک حشره واقعی (یک پروانه) بین رله های برق گیر کرد و باعث ایجاد مشکل در اولین کامپیوتر نیروی دریایی ایالات متحده شد، دریادار هاپر و تیمش کامپیوتر را "اشکال زدایی" یا debuging کردند و پروانه را نجات دادند.

آرین

آرین هستم عاشق تولید محتوا

ارسال دیدگاه

برای ارسال دیدگاه ابتدا باید وارد حساب کاربری خود شوید