Здравствуйте, друзья, я хочу найти данные, кучу и элементы стека процесса, найти нужную информацию ниже и распечатать ее на экране следующим образом с помощью C программирования.
./test_bin
data segment : start = 0x123456fe size = 23131 byte
heap segment : start = 0x123456ff size = 34345 byte
stack segment : start = 0x127899ff size = 42345 byte
Я пишу и нашел простой код строки
char *buffer1;
buffer1 = (char *) malloc(200);
char *buffer2;
buffer2 = (char *) malloc(200);
sprintf(buffer1, "cat /proc/%d/maps | grep stack", getpid());
sprintf(buffer2, "cat /proc/%d/maps | grep heap", getpid());
system(buffer1);
system(buffer2);
, но я не могу извлечь размер кучи, размер кучи, начальный адрес этого вывода? Как можно разобрать или извлечь их? Как написать код для этого с помощью C?
(я не понимаю, почему люди задают мой вопрос отрицательно. Я новичок, вы должны упомянуть что-то не так в комментариях.)