Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fixing Memory Bugs in C
Rating: 4.7 out of 5(33 ratings)
1,119 students

Fixing Memory Bugs in C

Tools and techniques for finding and fixing memory bugs in C
Created byGeorge Jones
Last updated 7/2021
English

What you'll learn

  • Understanding memory management in C
  • Finding software defects related to memory management in C
  • Fixing memory bugs in C
  • Setting up Windows Subsystem for Linux (WSL)

Course content

4 sections9 lectures1h 21m total length
  • Introduction1:26

    Fix memory bugs in C by using free debugging tools, exploring defective code, and correcting memory management issues through hands-on lessons and a final coding challenge.

Requirements

  • Comfortable with C language syntax and familiar with pointers

Description

After you've learned the basics of the C programming language, including becoming familiar with pointers, you're ready to start working on some real projects. Whether you're writing your own code from scratch, or maintaining and extending code written by somebody else, you'll quickly find that a major source of software defects in C programs is improper memory management.

Memory-related bugs can be difficult and extremely time-consuming to diagnose and fix without good tools. This course will introduce you to some tools and techniques for finding and fixing memory bugs in C programs, as well as teach the concepts behind those issues. It will cover:

  • Getting set up

    • Installing Windows Subsystem for Linux (WSL) and Ubuntu (if you're a Windows user)

    • Installing gcc, make, and Valgrind

    • Integrating VS Code into a WSL workflow

  • Lessons on how to find and fix these kinds of memory bugs:

    • Uninitialized values

    • Invalid reads

    • Invalid writes

    • Invalid frees

    • Fishy values

    • Memory leaks

In each lesson, we will examine a sample C program and use the powerful open-source Valgrind tool to find its defects. For each kind of bug, there will also be a hands-on exercise for you to work through. At the very end there is a final coding challenge that will help you to review everything you’ve learned in the course.

You'll need a solid start on the C language before you attempt this course, so if you're new to C, I would highly recommend first working through one of the C for Beginners Udemy courses.

Who this course is for:

  • Intermediate to advanced C programmers