Debug_new


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

Этот метод имеет множество внутренних ограничений. Он применим только к C++ и не может обнаруживать утечки памяти функциями C , такими как malloc . Однако он может быть очень простым в использовании, а также очень быстрым по сравнению с некоторыми более полными решениями для отладки памяти .