آموزش تشخیص نشت حافظه در برنامه های C/C++

Detecting Memory Leaks in C/C++ Applications

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: به کارگیری تکنیک هایی برای شناسایی و جداسازی خطاهای مربوط به حافظه در ویژوال استودیو درک انواع مشکلات مرتبط با مدیریت حافظه تشخیص و جداسازی موثر مشکلات حافظه کسب اطمینان در مدیریت حافظه C/C++ پیش نیازها: دانش کافی از C و C++ برای این دوره ضروری است برای مبتدیان توصیه می شود

C++ یک زبان بزرگ و پیچیده است، اما در مدیریت حافظه پویا به برنامه نویسان آزادی کامل می دهد. این به برنامه نویسان اجازه می دهد تا حافظه را تخصیص داده و در زمان اجرا آن را دستکاری کنند. به همین دلیل است که C++ هنوز یک زبان مورد علاقه برای برنامه های کاربردی با کارایی بالا در حوزه های مختلف مانند بازی، مخابرات، امور مالی، هوافضا و غیره است.

با این حال، برنامه نویسان باید در هنگام استفاده از حافظه پویا دقت زیادی داشته باشند، مانند آزاد کردن حافظه به دست آمده، مراقبت از تجاوز نکردن از مرز حافظه و غیره. در غیر این صورت، می تواند منجر به مشکلاتی مانند آویزان شدن نشانگرها، خراب شدن حافظه، نشت حافظه شود. و غیره

این دوره به شما کمک می‌کند تا با استفاده از ویژگی‌های عالی که ویژوال استودیو ارائه می‌کند، بر همه این مشکلات غلبه کنید. دارای مجموعه ای غنی از توابع است که توسط کتابخانه پشته اجرا C/C++ ارائه شده است. این توابع می توانند به شناسایی نشت حافظه، سرریز و غیره کمک کنند. شما یاد خواهید گرفت که چگونه از این عملکردها به طور موثر استفاده کنید و برنامه های خود را بدون اشکال کنید.

در این دوره، شما با اصول مدیریت حافظه پشته شروع خواهید کرد و عملکردها/عملگرهای تخصیص C++ را به طور عمیق درک خواهید کرد. همچنین یاد خواهید گرفت که چگونه به طور موثر از آنها برای جلوگیری از مشکلات حافظه استفاده کنید. پس از آن، با توابع کتابخانه هیپ ویژوال استودیو آشنا خواهید شد و نحوه استفاده از آنها را در کد خود خواهید فهمید.

در پایان این دوره، درک عمیقی از مدیریت حافظه پویا خواهید داشت. شما می توانید از توابع پشته CRT به طور موثر برای شناسایی مشکلات حافظه استفاده کنید. شما همچنین توابع ویژوال استودیو را پیاده سازی خواهید کرد تا بتوان از آنها با هر کامپایلر C++ استفاده کرد.

توجه: این دوره به Visual Studio 2017 یا نسخه بالاتر نیاز دارد.


سرفصل ها و درس ها

معرفی Introduction

معرفی Introduction

  • چیدمان حافظه فرآیندی Process Memory Layout

  • اشاره گرها Pointers

  • استفاده از ویژوال استودیو Using Visual Studio

  • اشکال زدایی در ویژوال استودیو Debugging In Visual Studio

  • ترتیب بایت Byte Ordering

  • C بررسی اجمالی توابع تخصیص C Allocation Functions Overview

  • C توابع تخصیص - malloc، calloc C Allocation Functions - malloc, calloc

  • C توابع تخصیص - realloc C Allocation Functions - realloc

تخصیص حافظه پویا در C++ Dynamic Memory Allocation in C++

تخصیص حافظه پویا در C++ Dynamic Memory Allocation in C++

  • اپراتورهای تخصیص C++ C++ Allocation Operators

  • نحوه کار جدید - قسمت اول How new works - Part I

  • نحوه کار جدید - قسمت دوم How new works - Part II

  • رسیدگی به شکست جدید - استثنا Handling new Failure - Exception

  • رسیدگی به خرابی جدید - Handler Handling new Failure - Handler

  • رسیدگی به خرابی جدید - nothrow Handling new Failure - nothrow

  • مثال جدید بدون پرتاب - قسمت اول Non-throwing new Example - Part I

  • مثال جدید بدون پرتاب - قسمت دوم Non-throwing new Example - Part II

  • فایل های منبع برای سخنرانی 15 و 16 Source files for Lecture 15 & 16

  • مکان جدید - I Placement new - I

  • قرار دادن جدید - II Placement new - II

  • مکان جدید - III Placement new - III

  • قرار دادن جدید - IV Placement new - IV

  • مکان جدید - V Placement new - V

  • توابع جدید و حذف اپراتور Operator new & delete Functions

مسائل مربوط به مدیریت حافظه Memory Management Issues

مسائل مربوط به مدیریت حافظه Memory Management Issues

  • مسائل مربوط به مدیریت حافظه Memory Management Issues

  • اشاره گرهای اولیه - I Uninitialized Pointers - I

  • اشاره گرهای اولیه - II Uninitialized Pointers - II

  • سرریز بافر - پشته Buffer Overflow - Stack

  • سرریز بافر - هیپ Buffer Overflow - Heap

  • اشاره گر آویزان - I Dangling Pointers - I

  • اشاره گر آویزان - II Dangling Pointers - II

  • نشت حافظه - I Memory Leaks - I

  • نشت حافظه - II Memory Leaks - II

کشف فساد هیپ Detecting Heap Corruption

کشف فساد هیپ Detecting Heap Corruption

  • کد منبع برای String & Heap Checker Source Code for String & Heap Checker

  • کلاس رشته - I String class - I

  • کلاس رشته - II String class - II

  • کلاس رشته - III String class - III

  • کلاس رشته - IV String class - IV

  • تشخیص فساد هیپ در کلاس رشته Detecting Heap Corruption in String Class

  • کلاس Heap Checker - I Heap Checker Class - I

  • Heap Checker Class - II Heap Checker Class - II

  • Heap Checker Class - III Heap Checker Class - III

  • کلاس Heap Checker - IV Heap Checker Class - IV

  • کلاس Heap Checker - V Heap Checker Class - V

تشخیص نشت حافظه Detecting Memory leaks

تشخیص نشت حافظه Detecting Memory leaks

  • تابع _CrtDumpMemoryLeaks(). _CrtDumpMemoryLeaks() function

  • مثال کد _CrtDumpMemoryLeaks(). _CrtDumpMemoryLeaks() Code Example

  • پرچم های تشخیص نشت Leak Detection Flags

  • تخلیه دقیق نشت برای جدید Detailed Leak Dump For new

  • وظیفه Assignment

  • عکس های حافظه Memory Snapshots

  • عکس‌های فوری حافظه - نمونه کد Memory Snapshots - Code Example

  • کلاس کمکی نقطه بازرسی حافظه Memory Checkpoint Helper Class

  • مشکلات مربوط به پست های بازرسی (و حل و فصل) Issues With Checkpoints (& Resolution)

  • عکس های فوری در ویژوال استودیو - I Snapshots in Visual Studio - I

  • عکس های فوری در ویژوال استودیو - II Snapshots in Visual Studio - II

  • فایل های منبع برای گزارش ها Source files for Reports

  • حالت و نوع گزارش Report Mode & Type

  • حالت و نوع گزارش - مثال کد Report Mode & Type - Code Example

  • فایل حالت گزارش Report Mode File

نشتی یاب سفارشی Custom Leak Detector

نشتی یاب سفارشی Custom Leak Detector

  • فایل های منبع Source Files

  • قطعات داخلی تشخیص نشت Leak Detection Internals

  • هدر بلوک حافظه و تابع ptmalloc(). Memory Block Header & ptmalloc() Function

  • پیاده سازی تابع ptfree() Implementation Of ptfree() Function

  • پیاده سازی تابع PtDumpLeaks() Implementation Of PtDumpLeaks() Function

  • افزودن پشتیبانی C++ - I Adding C++ Support - I

  • افزودن پشتیبانی C++ - قسمت دوم Adding C++ Support - Part II

  • کامپایل در لینوکس Compiling on Linux

پشتیبانی از فساد هیپ Heap Corruption Support

پشتیبانی از فساد هیپ Heap Corruption Support

  • تشخیص فساد هیپ - پیاده سازی داخلی Detecting Heap Corruption - Internal Implementation

  • پیاده سازی PtCheckMemory() - I PtCheckMemory() Implementation - I

  • پیاده سازی PtCheckMemory() - II PtCheckMemory() Implementation - II

  • تراز و لایه بندی ساختار Alignment & Structure Padding

  • تراز کردن هدر بلوک حافظه Aligning Memory Block Header

  • سخنرانی جایزه BONUS LECTURE

نمایش نظرات

آموزش تشخیص نشت حافظه در برنامه های C/C++
جزییات دوره
6 hours
72
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,468
4.6 از 5
دارد
دارد
دارد
Umar Lone
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Umar Lone Umar Lone

مربی ، توسعه دهنده و بنیانگذار مهندس Poash TechnologiesCivil که خواست خود را در توسعه نرم افزار یافت. هرگز به عنوان مهندس عمران کار نکرده ، در اولین فرصت پرش کرده و از 15 سال پیش تدریس C ++ و Visual C ++ را شروع کردم. در حال حاضر ، متخصصان نرم افزار را در شرکت های مختلف نرم افزاری در فن آوری های مختلف مانند Modern C ++ ، Advanced C ++ ، STL ، Design Patterns ، Android ، Unity ، Linux و ... آموزش می دهد. بسیار علاقه مند به تدریس است و بیش از 20،000 متخصص نرم افزار را در حرفه تدریس آموزش داده است بیش از 17 سال طول می کشد. یک گیمر مشتاق ، در حال حاضر تلاش خود را برای توسعه بازی در Unity & Unreal انجام می دهد. چند برنامه اندرویدی به اعتبار خود دارد ، از جمله یکی در Design Patterns. تنها چیزی که او بیش از C ++ دوست دارد ، C ++ مدرن است.