اشکال زدایی عملی در C و ++C
✅ سرفصل و جزئیات آموزش
در این دوره با GDB ،Valgrind و مهارت هایی که برای برنامه نویسی بدون خطا نیاز دارید آشنا خواهید شد.
آنچه یاد خواهید گرفت:
- چگونه با استفاده از یک دیباگر مانند GDB اشکال زدایی کنیم؟
- چگونه نشت حافظه را با استفاده از valgrind تشخیص دهیم؟
- چگونه خطاها را لاگ کرده و ورودی را از یک برنامه در حال اجرا دریافت کنیم؟
- یادگیری ابزارهای اشکال زدایی اضافی (sanitizers، ابزارهای ردیابی و ابزارهای تحلیل استاتیک)
پیش نیازهای دوره
- تجربه قبلی برنامه نویسی در زبانی مانند C و ++C، یا هر زبان مشابه (مانند DLang)
توضیحات دوره
در این دوره یاد می گیرید که چگونه از دیباگر محبوب GDB برای یافتن خطاها در کدهای C و ++C خود استفاده کنید. یادگیری نحوه استفاده از دیباگر به شما امکان می دهد که در زمان یافتن خطاها صرفه جویی کنید و زمان بیشتری را صرف ساخت نرم افزار بهتر کنید. توانایی اشکال زدایی کد یک مهارت ضروری برای همه توسعه دهندگان نرم افزار است و برای انجام این کار به چیزی بیش از یک پنجره ترمینال نیاز ندارید. با این حال، دروس آموخته شده از این دوره، پشت دیباگر GDB است و حتی چند ابزار عالی دیگر مانند valgrind برای یافتن باگ ها در کدتان به شما نشان می دهد.
مباحثی که یاد خواهید گرفت:
دانشجویان اگر می خواهند موارد زیر را یاد بگیرند باید این دوره را بگذرانند:
- چگونه از دیباگر محبوب GDB استفاده کنیم؟
- تکنیک های اشکال زدایی عمومی و دلیل بروز باگ های خاص
- برخی مباحث پیشرفته مانند اشکال زدایی معکوس - نوشتن اسکریپت ها برای اشکال زدایی در سایر دوره های مبتدی پوشش داده نشده است.
این دوره برای چه کسانی مناسب است؟
- برنامه نویسان مبتدی C و ++C
- برنامه نویسان سطح متوسطی که برای صرفه جویی در زمان نیاز به یادگیری اشکال زدایی دارند.
اشکال زدایی عملی در C و ++C
-
آشنایی با اشکال زدایی 01:14
-
یک مثال کاری در GDB 06:10
-
اهداف دوره 01:08
-
داستانی دباره اولین باگ 02:29
-
نوشتن کد خود با دقت 01:41
-
GDB برای D ،Objective-C ،OpenCL ،Rust و غیره؟ 00:55
-
GDB (لینوکس)، LLDB (مک) یا ویژوال استودیو (ویندوز) 01:20
-
GDB در لینوکس (و lldb) 01:49
-
GDB در Subsystem ویندوز برای لینوکس 05:06
-
اشکال زدایی زمان کامپایل در مقابل اشکال زدایی ران تایم 03:05
-
خطاهای کامپایلر 05:14
-
کامپایلرها نمی توانند ذهن ما را بخوانند 03:34
-
رفتار با هشدارهای کامپایلر (Wall- و Werror- و Wconversion-) به عنوان خطا (استفاده از {} ++C 07:29
-
ترفند - استفاده از کامپایلرهای متعدد 01:06
-
استفاده از کامپایلرهای ما None
-
نکته - نوشتن کد خود با دقت 01:54
-
تمرین اشکال زدایی (swap_buggy) 00:53
-
اشکال زدایی printf (std::cout و console.log) 07:08
-
اشکال زدایی printf (بررسی بیشتر) با DEBUG 02:07
-
GNU Debugger (GDB) - مبانی 09:11
-
چرا با نمادهای اشکال زدایی (-g) کامپایل می کنیم؟ 04:40
-
چاپ مقادیر و لیست بندی کد منبع 08:19
-
یافتن تایپ متغیر با Whatis 06:45
-
نقاط شکست (br و info) و ادامه (c) 05:24
-
رابط کاربری متنی (TUI) در GDB 07:20
-
ریدایرکشن خروجی از GDB (به یک فایل یا ترمینال دیگر) 05:27
-
نقاط شکست شرطی 04:01
-
روش های دیگر برای ادامه و step through کردن کد (advance و until) 03:14
-
تماشا کردن (watch و rwatch) متغیرها 03:48
-
نقاط شکست - بخش 2 (فعال سازی، غیرفعال و ذخیره نقطه شکست) 04:38
-
نمایش و عدم نمایش 05:14
-
دریافت راهنما در GDB (اطلاعات) 02:40
-
استک برنامه 07:08
-
استک فراخوانی چیست؟ 06:37
-
ناوبری استک فراخوانی با Backtrace 04:29
-
[مفهوم] درک خطاهای رایج - خطای بخش بندی 03:51
-
[تمرین] خطای بخش بندی 00:57
-
[راه حل] خطای بخش بندی 03:38
-
[مفهوم] درک خطاهای رایج - نشت حافظه 04:51
-
درک خطاهای رایج - سرریز استک 11:22
-
[تمرین] نشت حافظه (و sanitizer آدرس) 02:11
-
[راه حل] نشت حافظه (و sanitizer آدرس) 05:45
-
[تئوری] تکنیک اشکال زدایی دلتا 02:29
-
پیشگیری از باگ - دستور assert و static_assert 04:15
-
بررسی کد با فراخوانی توابع در GDB 02:19
-
اتصال دیباگر به یک فرآیند در حال اجرا 04:04
-
Core dumped - و نحوه نگاه کردن به آن فایل ها 05:49
-
Core dumped - بررسی gcore برای یک فرآیند در حال اجرا 03:50
-
بررسی حافظه در GDB (و همچنین هگز) 08:14
-
نقاط شکست و فرمان ها - صرفه جویی در زمان 02:45
-
تعریف فرمان های خود 03:08
-
اسکریپت های gdb 01:37
-
فرمان های شل در GDB (شل، ساخت و پایپ) 03:32
-
ویرایش فایل های منبع در GDB 03:32
-
چک کردن و راه اندازی GDB با پایتون (از منبع) 03:55
-
استفاده از پایتون در GDB 07:39
-
تنظیم مقدار متغیر 02:42
-
اشکال زدایی معکوس 02:56
-
اشکال زدایی برنامه های Multi-Threaded 09:49
-
بوک مارک ها و چک پوینت ها (ذخیره اسنپ شات از برنامه خود) 04:27
-
چرخه اشکال زدایی GDB -- اجرای مجدد و بازبینی نرم افزار 02:42
-
DDD - دیباگر نمایشگر داده 02:57
-
strace و ltrace 03:06
-
نصب و استفاده از valgrind 3.19 (تلفظ val-grinn) 06:27
-
استفاده از Valgrind و GDB با هم برای فیکس کردن خطای Segfault و نشت حافظه 13:24
-
cppcheck و ++Weffc 05:51
-
بررسی جدول مجازی برای وراثت (++C) 07:57
-
سطوح اشکال زدایی فرمان GDB 05:12
-
نتیجه گیری و گام های بعدی خود 00:42
-
DLang 02:45
مشخصات آموزش
اشکال زدایی عملی در C و ++C
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:70
- مدت زمان :05:04:21
- حجم :2.6GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy