check home phone-call search send

دیباگ کردن در برنامه نویسی

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

دیباگ کردن در برنامه نویسی

 اگر بخواهیم خطاهای برنامه نویسی رو توضیح دهیم ابتدا باید در مورد انواع خطا در برنامه نویسی صحبت کنیم. در برنامه نویسی سه مدل خطا داریم که در زیر آورده ایم.

انواع خطا در برنامه نویسی:

  • خطاهای سینتکسی
  • خطاهای سمنتیک
  • خطاهای منطقی

خطاهای سینتکسی:

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

خطاهای سمنتیک:

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

خطاهای منطقی:

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

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

دیباگ کردن برنامه

تفاوت نسخه Debug و Release در برنامه نویسی:

یک موضوع دیگر که خیلی از کاربران می پرسند تفاوت نسخه Debug و Release در برنامه نویسی هستش و میخواهند بدونند تفاوت این دو چی هست.تفاوت نسخه های دیباک و ریلیس در برنامه نویسی (مثال سی شارپ ویژوال استودیو) این تعریف یک تعریف کلی بوده و برای همه کامپایلر ها صادق است.

تفاوت نسخه Debug و Release در برنامه نویسی

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

تفاوت Release و Debug :

Debug:

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

Release :

این نسخه ، نسخه بهینه یا به اصطلاح Optimize شده برنامه است که ازعلاوه بر پایین تر بودن حجم از سرعت بالایی هم برخوردار است پس حتما دقت کنید بعد از اتمام پروژه های خود، حتما نسخه Releaseرا به مشتری ارائه دهید.

نکته: در تصویر بالا در نسخه ویژوال استودیو من علاوه بر دو مورد Release و Debug چند مورد دیگر هم فعال شده اند این موراد به دلیل فعال سازی پروژه سیت اپ در ویژوال استودیو میباشد.

Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

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

دیدگاه کاربران

تعداد دیدگاه های کاربران : 7 دیدگاه
Avatar
mohammad lotfi
پاسخ دهید

سلام و عرض ادب
خداقوت
سپاسگزارم بابت مطالب مفیدتون
آیا میشه برنامه نویسی رو با پایتون شروع کرد؟

    Avatar
    پشتیبان سورس ایران در پاسخ mohammad lotfi
    پاسخ دهید

    سلام
    وقت بخیر
    میشه مشکلی نداره
    ولی پیشنهاد میکنم در ابتدا اول اصول و مبانی اولیه برنامه نویسی رو بگذرونید
    بعدش هر زبانی رو که دوست داشتید یاد بگیرید
    برای یادگیری اصول و مبانی اولیه برنامه نویسی پیشنهاد میکنم از لینک زیر استفاده کنید:
    دوره الفبای برنامه نویسی

Avatar
مونا
پاسخ دهید

عالی بود دوس داشتم ،هرچند وقت یه بار میخونمش
برام جالبه!

Avatar
Mahsa
پاسخ دهید

سلام عالی بودبازم ممنونم.فقط معنی وکارکردکامپایلرچیه؟فایل های خروجی برنامهexe اوناچی هستن؟بعد ی سوال دیگه پس اگه مابرنامه ای نوشتیم پروژه تموم شد باید Release بزنیم بعد تحویل بدیم؟
ی سوال دیگم دارم اگرمن توبرنامه اشتباه تایپی داشتم ارور میده ومیگه خطا دارید ولی آیا توبرنامه میگه چه نوع خطا داریدسینتکسی؟ یاسمنتیک یامنطقی؟
چون میخوام بدونم اگه برنامه میگه کجامینویسی تازودبفهمم کارم راحت بشه؟
بازم خیلی ممنونم .
من توسایت خوبتون خیلی سوال میپرسم مزاحمتون میشم.

Avatar
Matin
پاسخ دهید

واقعا مطالب سایت شما فوق العاده و آموزنده اند . سپاس 🙏🙏


شما با موفقیت در خبرنامه ما عضو شدید