Добрый день всем,
Что я пытаюсь сделать : Я хотел бы реализовать расширение для модульного теста C ++, чтобы определить, выделяет ли тест память и не освобождает ли ее. Моя идея состояла в том, чтобы записать уровни выделения или уровни свободной памяти до и после теста. Если они не совпадают, значит, у вас утечка памяти.
Что я пробовал до сих пор: Я написал подпрограмму для чтения / proc / self / stat , чтобы получить размер виртуальной машины и размер резидентного набора. Размер резидентного набора, кажется, то, что мне нужно, но это явно не правильно. Он изменяется между последовательными вызовами функции без выделения памяти. Я считаю, что он возвращает кешированную память, а не то, что выделено. Он также изменяется с шагом 4 тыс., Поэтому он слишком грубый, чтобы его можно было реально использовать.
Я могу получить размер стека, выделив локальный и сохранив его адрес. Есть ли проблемы с этим?
Есть ли способ получить реальную свободную или выделенную память в Linux?
Спасибо