Mprchain преобразует журнал в вывод

mprchain преобразует журнал в вывод, сгруппированный по цепочкам вызо вов. Цепочка вызовов функций — это список всех функций, активных в программе на определенный момент. Например, если main () вызывает getargs (), которая впоследствии вызывает parsearg (), активная цепочка вызовов во время работы parsearg () отображается как main: getargs: parsearg. Для каждой отдельной цепочки вызовов, в которой распределялась память во время выполнения программы, mprchain отображает количество распределений и общее количество распределенных байт.

mprleak Этот фильтр просматривает журнальный файл на предмет наличия всех неосвобожденных фрагментов памяти. В качестве стандартного вывода генерируется новый журнальный файл, содержащий только те распределения, которые могут привести к утечкам памяти. Вывод этой программы является допустимым журнальным файлом mpr, который может быть связан каналом с любой другой утилитой mpr.

mprsize Этот фильтр сортирует распределения памяти по размеру. Чтобы просмотреть утечки памяти по размеру, нужно передать вывод mprleak на вход mprsize.

mprhisto Отображает гистограмму распределений памяти.

Теперь, когда известно об анализаторах журнальных файлов, очень просто найти утечки памяти в нашей тестовой программе. Для этого достаточно воспользоваться командой mprleak mpr. log I mprmap 1./broken (что эквивалентно mprmap 1. /broken mpr. log | mprleak) и в результате обнаружить утечку памяти в строке 20.

$ mprleak mpr. log I mpr map 1./broken m: broken(broken. c,20): main(broken. c,47):5:134518624

Мини-картинка
Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок