C ++ анализ памяти - PullRequest
       3

C ++ анализ памяти

4 голосов
/ 02 июля 2010

Каковы некоторые из хороших инструментов для анализа памяти (для занимаемой площади, распределения и освобождения)?Я знаком с Вальгриндом.Если кроме этого есть инструменты, было бы неплохо узнать о них.

Best.

Ответы [ 3 ]

1 голос
/ 02 июля 2010

Если вы говорите о valgrind, я полагаю, что вы заинтересованы в программном обеспечении Linux.

С помощью MTrace вы можете легко создать свой собственный отчет для распределения и удаления занимаемой площади. Это не напрямую C ++, а напрямую интегрировано в GlibC. Насколько я знаю, C ++ операторы new и delete используют это для выделения памяти перед вызовом конструктора и освобождения памяти после вызова деструктора.

1 голос
/ 03 июля 2010

Приятной особенностью mcheck является то, что она автоматически появляется при каждом использовании glibc.Установите для переменной среды MALLOC_CHECK_ значение 1, и диагностика выводится на stderr при каждом обнаружении несоответствия кучи;если установлено значение 2, abort () вызывается немедленно.

Документация mcheck находится здесь:http://www.gnu.org/software/libc/manual/html_node/Heap-Consistency-Checking.html

Вы также можете использовать mtrace для отслеживания malloc в бесконечных деталях:http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html

1 голос
/ 02 июля 2010

IBM имеет Rational Purify для Windows и Linux.Я не использовал его, так как это довольно дорого, но есть бесплатная пробная версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...