Обнаружение утечек памяти в программах на C?

Если мы хотим проверить утечку памяти в программе на C++, мы можем перегрузить операторы new и delete, чтобы отслеживать выделенную память. Что если мы захотим проверить утечки в программе на языке Си? Поскольку в Си нет перегрузки операторов, можно ли переписать указатель функции malloc, чтобы перехватывать вызовы malloc и отслеживать выделение памяти? Есть ли более простой способ без использования внешних утилит? Пожалуйста, приведите код, так как я не знаком с перезаписью указателей методов.

Примечание: я бы хотел сделать это без внешних утилит для практики.

25
задан Jonathan Leffler 7 February 2012 в 13:39
поделиться