Detecting Memory Leaks in C/C++ Applications using Visual Studio
Apply techniques to detect & isolate memory related errors in Visual Studio & create your own leak detector library.
Understand different kinds of problems associated with memory management
Effectively detect & isolate memory problems
Gain confidence in C/C++ memory management
What you should know before enrolling in this course
C++ is a large and complex language, but it gives programmers complete freedom when it comes to management of dynamic memory. This allows the programmers to allocate memory and manipulate it at runtime. That is why C++ is still a favorite language for high performance applications in various domains such as gaming, telecom, finance, aerospace, etc.
However, it requires programmers to take great care while using dynamic memory, such as releasing acquired memory, taking care not to overstep memory boundary, etc. Otherwise, it could lead to problems such as dangling pointers, memory corruption, memory leaks, etc.
This course will help you overcome all these problem by leveraging the excellent features that Visual Studio provides. It has a rich set of functions provided by the C/C++ runtime heap library. These functions can help detect memory leaks, overflows, etc. You'll learn how to use these functions effectively and make your programs bug-free.
In this course, you'll start with the basics of heap memory management and understand C & C++ allocation functions/operators in depth. You'll also learn how to effectively use them to avoid memory problems. Afterwards, you'll learn about the Visual Studio heap library functions and understand how to use them in your code.
By the end of this course, you'll have a deep understanding of dynamic memory management. You'll be able to use CRT heap functions effectively to detect & isolate memory problems. You'll also implement the Visual Studio functions so that they can be used with any C++ compiler.
Note:This course requires Visual Studio 2017 or a higher version.
Process Memory Layout
FREE PREVIEWIntroduction to Pointers
FREE PREVIEWUsing Visual Studio
Debugging Basics
Byte Ordering
C Allocation Functions
Examples
Reallocation
C++ Allocation Operators
How new works - I
FREE PREVIEWHow new works - II
Exceptions
new handler
Non-throwing Source Files
Non-throwing new - I
Non-throwing new - II
Non-throwing new - III
Placement new - I
Placement new II
Placement new III
Pplacement new IV
Placement new V
Operator new & delete functions
Memory Management Issues
Uninitialized Pointers - I
Uninitialized Pointers - II
Buffer Overflow - Stack
Buffer Overflow - Heap
Dangling Pointers - I
Dangling Pointers - II
Memory Leaks - I
Memory Leaks II
Source Files
String Class - I
String Class - II
String Class - III
String Class - IV
Detecting Heap Corruption in String
FREE PREVIEWHeap Checker Class - I
Heap Checker Class - II
Heap Checker Class - III
Heap Checker Class - IV
Heap Checker Class - V
Source Files
_CrtDumpMemoryLeaks() function
_CrtDumpMemoryLeaks() Example
Leak Detection Flags
Detailed Leak Dump
Exercise
Memory Snapshots - I
Memory Snapshots - II
Memory Checkpoint Class
Issues with checkpoints
Snapshots in Visual Studio - I
Snapshots in Visual Studio - I
Report Modes & Types - I
Report Modes & Types - II
Redirecting to File
You may also find the following courses useful
Add your email to the mailing list to get the latest updates.