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