[Mémoire Virtuelle] Détermination des adresses limites du segment stack
Bonjour,
Je dois déterminer approximativement les adresses limites du segment stack dans la mémoire virtuelle d'un processus. Voici ce que j'ai tenté de faire :
Code:
1 2 3 4 5 6 7 8 9
|
char *debut = alloca(1); // allocation d'un octet sur le stack
char *fin = debut;
while (alloca(1) != NULL) // on répète tant qu'il reste de l'espace
fin--; // le segment stack grossit vers le bas alors on décrémente
printf("Début du stack: %p", debut);
printf("Fin du stack: %p", fin); |
Malheureusement, j'obtiens toujours une "segmentation fault", comme si je dépassais les limites... Des idées?
Merci à l'avance pour votre aide :) !