Debug_new
Эта статья предоставляет недостаточный контекст для тех, кто не знаком с предметом . ( февраль 2020 г. ) |
Debug_new относится к методу C++, позволяющему перегрузить и/или переопределить оператор new и оператор delete , чтобы перехватить вызовы выделения и освобождения памяти и, таким образом, отладить программу на предмет использования памяти. Часто это включает в себя определение макроса с именем DEBUG_NEW и делает new чем-то вроде new(__FILE__, __LINE__) для записи информации о файле/строке при выделении. Microsoft Visual C++ использует эту технику в своих классах Microsoft Foundation . Есть несколько способов расширить этот метод, чтобы избежать использования переопределения макросов, сохраняя при этом возможность отображать информацию о файле/строке на некоторых платформах.
Этот метод имеет множество ограничений. Он применим только к C++ и не может обнаруживать утечки памяти с помощью C, функций таких как malloc . Однако он может быть очень простым в использовании и очень быстрым по сравнению с некоторыми более полными для отладки памяти решениями .