Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Debugging C/C++ Memory Issues in Visual Studio

Gỡ lỗi các vấn đề bộ nhớ C/C++ trong Visual Studio

Gỡ lỗi các vấn đề bộ nhớ C/C++ trong Visual Studio

Áp dụng các kỹ thuật phát hiện & cô lập lỗi liên quan đến bộ nhớ thông qua Visual Studio

4.3
(552 đánh giá)
5,130 học viên
Giảng viên
Umar Lone
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
8.0 giờ video
104 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Hiểu các loại vấn đề khác nhau liên quan đến quản lý bộ nhớ
Phát hiện & cô lập hiệu quả các vấn đề về bộ nhớ
Tự tin hơn trong việc quản lý bộ nhớ C/C++
Hiểu và sử dụng các công cụ mà Visual Studio cung cấp để phát hiện vấn đề bộ nhớ

Yêu cầu

Kiến thức cơ bản về C & C++ là cần thiết cho khóa học này
Không khuyến nghị cho người mới bắt đầu

Đối tượng phù hợp

Lập trình viên C/C++ muốn hiểu sâu về quản lý bộ nhớ
Lập trình viên C/C++ muốn hiểu sâu về quản lý bộ nhớ
Lập trình viên sử dụng Visual Studio để phát triển C/C++

Nội dung khóa học

9 phần • 87 bài giảng
1 Slide bài giảng
2 Bố cục bộ nhớ tiến trình
3 Con trỏ
4 Sử dụng Visual Studio
5 Tổng quan về gỡ lỗi trong Visual Studio
6 Thứ tự byte
1 Giới thiệu về gỡ lỗi
2 Lập trình phòng thủ - Phần I
3 Lập trình phòng thủ - Phần II
4 Câu lệnh khẳng định (Assertions)
5 Nguyên tắc sử dụng Assertions
6 Assertions tại thời điểm biên dịch
7 Giới thiệu về trình gỡ lỗi Visual Studio
8 Cơ bản về gỡ lỗi
9 Cửa sổ Watch
10 Điểm dừng (Breakpoints) - Phần I
11 Điểm dừng (Breakpoints) - Phần II
12 Callstack
13 Bộ nhớ (Memory)
14 Các tính năng gỡ lỗi nâng cao
1 Tổng quan về hàm cấp phát trong C
2 Hàm cấp phát C - malloc, calloc
3 Hàm cấp phát C - realloc
1 Toán tử cấp phát C++
2 Cách thức hoạt động của new - Phần I
3 Cách thức hoạt động của new - Phần II
4 Xử lý lỗi new - Ngoại lệ (Exception)
5 Xử lý lỗi new - Bộ xử lý (Handler)
6 Xử lý lỗi new - nothrow
7 Ví dụ về new không ném ngoại lệ - Phần I
8 Ví dụ về new không ném ngoại lệ - Phần II
9 Tệp nguồn cho Bài 15 & 16
10 Placement new - Phần I
11 Placement new - Phần II
12 Placement new - Phần III
13 Placement new - Phần IV
14 Placement new - Phần V
15 Hàm toán tử new & delete
1 Các vấn đề quản lý bộ nhớ
2 Con trỏ chưa được khởi tạo - Phần I
3 Con trỏ chưa được khởi tạo - Phần II
4 Tràn bộ đệm (Buffer Overflow) - Stack
5 Tràn bộ đệm (Buffer Overflow) - Heap
6 Con trỏ treo (Dangling Pointers) - Phần I
7 Con trỏ treo (Dangling Pointers) - Phần II
8 Rò rỉ bộ nhớ (Memory Leaks) - Phần I
9 Rò rỉ bộ nhớ (Memory Leaks) - Phần II
1 Mã nguồn cho String & Heap Checker
2 Lớp String - Phần I
3 Lớp String - Phần II
4 Lớp String - Phần III
5 Lớp String - Phần IV
6 Phát hiện hỏng Heap trong Lớp String
7 Lớp Heap Checker - Phần I
8 Lớp Heap Checker - Phần II
9 Lớp Heap Checker - Phần III
10 Lớp Heap Checker - Phần IV
11 Lớp Heap Checker - Phần V
1 Hàm _CrtDumpMemoryLeaks()
2 Ví dụ mã sử dụng _CrtDumpMemoryLeaks()
3 Cờ phát hiện rò rỉ (Leak Detection Flags)
4 Báo cáo rò rỉ chi tiết cho new
5 Bài tập
6 Ảnh chụp nhanh bộ nhớ (Memory Snapshots)
7 Ảnh chụp nhanh bộ nhớ - Ví dụ mã
8 Lớp trợ giúp Điểm kiểm tra bộ nhớ (Memory Checkpoint Helper Class)
9 Vấn đề với Checkpoints (& Giải pháp)
10 Snapshots trong Visual Studio - Phần I
11 Snapshots trong Visual Studio - Phần II
12 Tệp nguồn cho Báo cáo
13 Chế độ & Loại báo cáo
14 Chế độ & Loại báo cáo - Ví dụ mã
15 Tệp Chế độ báo cáo
1 Tệp nguồn
2 Cơ chế bên trong phát hiện rò rỉ
3 Tiêu đề khối bộ nhớ & Hàm ptmalloc()
4 Triển khai Hàm ptfree()
5 Triển khai Hàm PtDumpLeaks()
6 Thêm hỗ trợ C++ - Phần I
7 Thêm hỗ trợ C++ - Phần II
8 Biên dịch trên Linux
1 Phát hiện hỏng Heap - Triển khai bên trong
2 Triển khai PtCheckMemory() - Phần I
3 Triển khai PtCheckMemory() - Phần II
4 Căn chỉnh & Đệm cấu trúc (Alignment & Structure Padding)
5 Căn chỉnh Tiêu đề khối bộ nhớ
6 BÀI GIẢNG BỔ SUNG

Giới thiệu khóa học

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.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học C Plus Plus Development
Hiển thị tất cả khoá học Debugging
Hiển thị tất cả khoá học Visual Studio
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊