Intermediate
43 Lessons
16h
Certificate of Completion
Takeaway Skills
A familiarity with disassembly in GDB environment of simple C/C++ programs
A good understanding of how to debug programs with a cross-sectional view to the contents of registers, stack and memory
The ability to use GDB as a dump analysis tool
Hands-on experience with C/C++ programs from the disassembly output
Course Overview
GNU Debugger (GDB) is used for debugging C/C++ programs in LINUX/UNIX environments. It is a good tool to investigate what is happening inside a program, and how the contents inside the memory are changed with the execution of the program. The main focus of the course is the disassembly of the program, where we'll use simple operations in C. With the help of GDB, we'll examine the contents of the registers and memory. We'll also learn how they are changed while executing basic operations. We’ll then explore...
Course Content
Introduction to the Course
Memory, Registers, and Simple Arithmetic
Code Optimization
Number Representations
Pointers
Bytes, Words, Double, and Quad Words
2 Lessons
Pointers to Memory
3 Lessons
Logical Instructions and RIP
4 Lessons
Reconstructing a Program with Pointers
3 Lessons
Memory and Stacks
3 Lessons
Frame Pointer and Local Variables
4 Lessons
Function Parameters
2 Lessons
More Instructions
2 Lessons
Function Pointer Parameters
2 Lessons
Summary of Code Disassembly Patterns
1 Lesson
Assessment
Assessment
How You'll Learn
You don’t get better at swimming by watching others. Coding is no different. Practice as you learn with live code environments inside your browser.
Videos are holding you back. Educative‘s interactive, text-based lessons accelerate learning — no setup, downloads, or alt-tabbing required.
Learn faster and smarter with adaptive AI tools embedded in every Educative course.
Built-in assessments let you test your skills. Completion certificates let you show them off.