It's the last day for these savings

Hands on Debugging in C and C++

GDB, Valgrind, and the skills you need to program error free!

947 Students

5h4min

All Levels

4.9

thumbnail
  • Overview
  • Curriculum
  • Discussion
  • Review
  • Instructor

What you will learn

  • How to debug using a debugger like GDB

  • How to detect memory leaks using valgrind

  • How to log errors and get input from a running program.

  • Learn additional debugging tools (sanitizers, tracing tools, and static analysis tools)

What are the requirements for taking your course

  • Previous experience programming in a language such as C, C++, or any similar language (e.g. DLang)

Who is this course for

  • Beginning C and C++ Programmers

  • Intermediate Programmers who need to learn debugging to save time!

Description

Overview

**Newly revamped in 2024 with twice the content, and higher quality videos!**

In this course you will learn how to use the popular debugger GDB to find errors in your C and C++ code.  Learning how to use a debugger will allow you to save time when finding errors and spend more time building better software. Being able to debug code is a necessary skill for all software developers to have, and you need nothing more than a terminal window to do so. The lessons learned from this course however will go behind the GDB debugger, and even show you a few other great tools like valgrind for finding bugs in your code.

Topics you'll learn

Students should take this course if they want to learn:

  • How to use the popular GDB debugger

  • General debugging techniques, and why certain bugs occur

  • Some more advanced topics like reverse-debugging writing scripts for debugging not covered in other basic courses.

Why you should take this course?

Learning how to use a debugger will at first challenge conventional 'printf' debugging strategies that you may be able to get away with. But as you build larger software and work on software with larger teams, it will become essential to learn how to find and fix bugs. With this course and some practice, you will be able to work more quickly and save time fixing bugs, and then can spend your other efforts building great software. I can recall several instances when I first started working as a software engineer, and it took me weeks to find and fix a single bug. Had I better debugging skills at the time, I could have saved myself (and the company) a lot more time (and myself pain!). So unlock your full debugging potential by taking this course!

Who am I?

I have been teaching for over 10 years in universities and as a professor. I have worked in industry in big companies, startups, and as a consultant. I am looking forward to being your instructor for this course, and I hope you will get great value out of the lessons learned!

Introduction

Introduction to Debugging

A Working Example in GDB

Course Objectives

A story about the first bug

Write your code neatly!

GDB for D, Objective-C, OpenCL, Rust, etc?

Resources

Setup

GDB (linux), LLDB (Mac), or Visual Studio (Windows)

GDB on Linux (and lldb)

GDB on Windows Subsystem for Linux

LLDB on Mac

Utilizing the Compiler as a Debugger - Respecting the Compiler

Compile-time vs Run-time debugging

Compiler Errors

Compilers cannot read our minds

Treat Compiler Warnings (-Wall, -Werror, and -Wconversion) as Errors (Use C++ {}

Trick: Leveraging multiple compilers

Using our Compilers

img

No Discussion Found

4.9

159 Reviews

5
80
4
55
3
20
2
3
1
1
Mike Shah

Instructor

$15.78

This Course Includes

71 Lessons
1 Quiz
0 Assignment
6 Downloadable Resources
English
Full Lifetime Access
Certificate of completion
Go To Class

Related Skills

More Courses From Jacob Collier

Udemy Udemy

Hands on Debugging in C and C++

947 students 5h4min