Onde malloc () / free () armazena tamanhos e endereços alocados?

where malloc () e free () armazenam os endereços alocados e seus tamanhos (Linux GCC)? Eu li que algumas implementações as armazenam em algum lugar antes da memória alocada real, mas não pude confirmar isso nos meus teste

Em segundo plano, talvez alguém tenha outra dica para isso: estou experimentando um pouco a análise da memória heap de um processo para determinar o valor atual de uma string no outro processo. Acessar a memória de pilha do processo e passear por ela não é problema. No entanto, como o valor da string é alterado e o processo aloca uma nova parte da memória a cada vez, o endereço da string é alterado. Como a string tem um formato fixo, ainda é fácil encontrar, mas após algumas alterações as versões antigas da string ainda estão na memória heap (provavelmente liberadas, mas ainda não reutilizadas / substituídas) e, portanto, não sou capaz de dizer qual string é a atual.

Então, para encontrar a atual, ainda quero verificar se uma string que encontro na memória ainda é usada comparando seu endereço com os endereços que o malloc / free conhec

ciao, Elmar

questionAnswers(2)

yourAnswerToTheQuestion