دیباگ کردن(Debugger ) چه معنا است؟

دیباگ کردن(Debugger ) چه معنا است؟

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

اصطلاح دیباگ کردن از کجا آمده است؟ 

اصطلاح دیباگ کردن به دهه ی ۴۰ میلادی باز می گردد . زمانی که Grace Hopper مشغول نوشتن برنامه بود متوجه وجود اختلال در عملکرد دستگاهش شد و به دنبال آن یک حشره را از داخل سیستم کامپیوتر خود بیرون کشید . این حشره باعث بروز اختلال در کار دستگاه شده بود و به همین علت اصطلاح Debug کردن رواج یافت . bug به معنای حشره است . 

دیباگ چیست؟ 

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

انواع روش‌های دیباگ 

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

خطاهای نوشتاری (Syntax)  

به قوائد و نوع نوشتار کدهای یک زبان برنامه نویسی Syntax گفته می‌شود. یکی از متداول‌ترین عوامل ایجاد باگ در نرم افزارها مربوط به اشتباهات نوشتاری برنامه نویسان است. زمانی که برنامه نویسان در کدهای خود اشتباه تایپی یا دستوری داشته باشند، اجرای نرم افزار با اختلال رو به رو خواهد شد. زبان هایی مانند HTML و CSS به خطاهای نوشتاری حساسیت زیادی نشان نمی‌دهند، اما در زبان هایی مانند PHP یا Python این خطاها از اجرای نرم افزار جلوگیری می‌کنند. 

خطاهای معنایی (Semantics) 

خطای Semantics یا معناشناسی به معنای مفهوم و نتایج درست حاصل از کنار هم گذاشتن عبارات و کلمات است . شاید شما کدهای درستی نوشته اید که هیچ گونه ایرادی بر آنها وارد نیست ولی معنا و مفهوم درستی از این کد ها استنباط نمی گردد . این خطاها نتایج اشتباهی را هنگام اجرا تحویل ما می دهند که باید بررسی شوند.به مثال های زیر توجه کنید :
همه ی ما می دانیم که در زبان فارسی یک سری قواعد وجود دارد . فعل در پایان تمامی جملات وجود دارد و جای فاعل و مفعول مشخص است . هنگامی که ما می نویسم ناصر درس می خواند . جمله ای کاملا درست از نظر قواعد زبان فارسی نوشته ایم ولی اگر بنویسیم درس می خواند ناصر با اینکه تعداد کلمات همان تعداد می باشد ولی در نحوه ی نگارش اشکال وجود دارد و این مثالی برای یک خطای Syntax است .
اگر بنویسیم ناصر مدرسه است با اینکه جای تمامی کلمات درست است و فعل جمله در جای مناسب خود قرار گرفته ولی جمله کاملا غلط و نامفهوم است . این مثالی برای درک بهتر خطای Semantics می تواند باشد .

خطاهای منطقی (Logic) 

این دسته از خطاها جزو سخت‌ترین خطاهای برنامه نویسی محسوب می‌شوند. برنامه نویسان زمان زیادی را باید برای رفع خطاهای منطقی صرف کنند. زمانی که کدهای نوشته شده از نظر نوشتاری کاملا صحیح هستند، اما نرم افزار به درستی اجرا نمی‌شود و یا در حالی که اجرا می‌شود خروجی آن اشتباه است، باید به دنبال یک خطایی منطقی بود. خطاهای منطقی از خود نشانه ای بر جای نمی‌گذارند و معمولا توسط Debugger‌ها شناسایی نمی‌شوند.گاهی برای رفع چنین خطاهایی برنامه نویس راهی جز خواندن خط به خط کدهای نوشته شده ندارد. 
برخی از این خطاها شاید به راحتی شناسایی شوند ولی گاهی هم ممکن است روزها صرف برطرف کردن آن شود. برای درک بهتر این خطاها، تصور کنید که می‌خواهیم نرم افزاری بنویسیم که تعداد کاربران سایت را محاسبه کند. فرض کنید اطلاع داریم که ۲۰ کاربر در سایت می‌باشند، ولی این نرم افزار عددی غیر ۲۰ را به ما نمایش می‌دهد. زمانی که نرم افزار بدون هیچ خطایی اجرا شود ولی جواب صحیحی به ما نمایش ندهد، خطایی منطقی رخ داده است. 

پیشنهاد ما به شما: با آسان رایان آشنا شوید.


Debugger Logic Semantics Syntax انواع روش‌های دیباگ دیباگ فرایند دیباگ کردن(Debugger ) چه معنا است؟

کلیه حقوق مادی و معنوی این سایت متعلق به آسان رایان می باشد
Registrant Rights and Responsibilities