Я пытаюсь исследовать состояние кучи C/C++ из gdb в Linux amd64, есть ли хороший способ сделать это?Изучение статистики памяти кучи C/C++ в gdb
Один из подходов, который я пробовал, заключается в «вызове mallinfo()», но, к сожалению, я не могу извлечь значения, которые я хочу, так как gdb неправильно обрабатывает возвращаемое значение.
Я не могу написать функцию, которая будет скомпилирована в двоичный файл для процесса, к которому я присоединен, поэтому я могу просто реализовать свою собственную функцию для извлечения значений, вызвав mallinfo() в моем собственном коде. путь. Может быть, умный трюк, который позволит мне сделать это на лету?
Другим вариантом может быть поиск кучи и перемещение заголовков/свободного списка malloc; Я был бы признателен за любые указания, где я мог бы начать находить расположение и расположение этих.
Я пытался Google и читал проблему около двух часов, и я узнал некоторые интересные вещи, но до сих пор не нашел то, что мне нужно.
Что вам нужно знать о состоянии? Какую статистику вы должны знать? –
Размер кучи, используемое количество и количество бесплатно - хорошее начало –
Что такое gdb, который не работает должным образом? – leedm777