اصلا این gdb چیه؟ آموزش و یادگیری اصلا این gdb چیه؟ به صورت رایگان
درود،
قبل از این که وارد هر کورسی بشیم، بهتره ببینیم در نهایت قراره چی گیرمون بیاد.
اینجا debugging روبه صورت practical و کاربردی یاد میگیریم؛
یه سایدافکت هم داریم: یادگیری C (البته کم) و شاید تو یه سری تمرین ها درگیری با بعضی از سیگنالهایی که کرنل، یا همون هستهٔ سیستمعامل، میفرسته.
اما debugging دقیقا یعنی چی؟
debugging به مجموعه کارهایی اشاره داره که برای پیدا کردن و از بین بردن خطا
های یک برنامه انجام میدیم.
حالا برای این کار از gdb استفاده میکنیم!
اوه پرسیدید چرا؟
gdb یه نرمافزاره که توی فرایند debugging به ما کمک میکنه.
حتی اگر بخوام از تجربهٔ اولیهٔ خودم بگم، gdb فقط برای دیباگ کردن نیست؛ برای بهتر یاد گرفتن برنامهنویسی و مخصوصا عمیقتر شدن توی بعضی مباحث هم خیلی کمککنندهست.
پس اگر بخوام خیلی خلاصه بگم:
gdb یه برنامه برای کمک به ما تو فرایند debugging هستش.
خب مگه کامپایلر کمکمون نمیکنه خطاها رو بگیریم؟
حالا که AI اومده، هنوز هم لازمه بلدش باشیم؟
حتی بیشتر از قبل.
اگر کد زدن کماهمیتتر شده باشه، debugging اهمیت بیشتری پیدا کرده. هرچند فعلا به نظرم بیشتر، SLOP ها زیادی درگیر این AI stuff ها شدن. ولی در هر صورت، آره؛ AI کد میزنه و چیزهایی مثل skill، hook و بقیه ابزارها هم خیلی کمک میکنن، اما موضوع اصلی اینه که debugging حتی توی این دورهای که AI اینهمه سروصدا کرده، هنوز کاملا لازمه.
توی قسمت بعد یاد میگیریم که چطور نصبش کنیم و اولین تستمون رو باهاش جلو ببریم.
چند نکته در مورد این تِرِد
1. چرا بهجای «خطازدایی» یا «خطایابی» نوشتم debugging؟ چون حقیقتا فکر میکنم بهتره که این کلمات رو در متن فنی با معادل اصلیشون بشناسیم. اشتباه نکنید؛ من خودم فارس هستم، ولی خیلی از واژههای فارسی در متن علمی و فنی کاربرد عملی کمی دارن. فردا اگر یه متن انگلیسی بخونید و کلمهٔ debugging رو نشناسید، به مشکل میخورید. شاید این نگاه کمی عجیب به نظر برسه، ولی پیشنهاد من اینه که در علم و مهندسی، تا جای ممکن به واژههای اصلی انگلیسی بچسبیم.
2. gdb مخفف GNU Debugger هست این GNU هم گِنو خونده میشه G, N, U نگید!
3. در مورد کامپایل تایم و ران تایم و اینا بعدا صحبت میکنیم!
4. منظورم از SLOP، اون کدها و نرمافزارهای بیکیفیت و سرهمبندیشدهست که این روزها و بهخصوص با کمک AI، حجمشون بیشتر هم شده. از طرفی هم به زودی توی devChan که پروژه جدید CS12 هست و یه جورایی یه شبکه اجتماعی برای افرادی هست که علاقمند به ساخت پروژه با درک عمیق از asset هاش دارند، بیشتر با این کلمه slop آشنا میشید
هر چند این موضوع به معنای استفاده نکردن از AI نیست، به معنای استفاده درسته!