Heap manager и устройство heap (кучи) в Linux
Добрый день. Интересует информация об уствойсве кучи при выполнении пользовательского процесса.
Тоесть:
- как вобще она устроена; - как работают сегменты; - описание метаданных сегментов; - есть ли какие либо Look-aside-list и front end / back end аллокаторы как Windows и как они работают; - какие C-структуры используются (нужно для отладки своих приложений если происходят проблемы с динамической памятью скажем); - описание работы менеджера кучи - и т.д.
Собственно зачем мне это нужно:
1. Для отладки приложения после краша используя core dump файл который загружаю в GDB. 2. Для общего развития
Знаю есть много полезных вещей типа Valgrind и др. но в данном случае интересует именно как сделать это самому нежели за меня это выполнит тулза, так как при работе с core dump файлом я имею лишь слепок процесса который могу анализировать. А для этого собственно и нужно знать как оно все работает, потому как далеко не всегда стек вызовов актуален.
Спасибо