Remplissez toutes les piles disponibles avec une valeur spécifique [Duplicate

StackOverflow https://stackoverflow.com/questions/20353628

  •  25-08-2022
  •  | 
  •  

Question

J'ai besoin de remplir tout l'espace de pile disponible avec un caractère spécifique à des fins de profilage.

Tout d'abord, y a-t-il un moyen sûr de le faire sur Android (certaines fonctions spécifiques au compilateur peut-être) en C ++? Sinon, puis-je supposer que l'adresse de la première variable déclarée dans une fonction est le "démarrage" de la pile "inutilisée"? Sinon, y a-t-il un moyen d'obtenir le pointeur de pile actuel, quelque chose comme la valeur ESP sur x86?

Était-ce utile?

La solution

Avec ARM, vous devez penser à appeler la convention car une fonction avec plus de quatre arguments les ferait renverser. Je trouve qu'il est beaucoup plus sûr à utiliser __Builtin_frame_address de GCC.

Built-in Function: void * __builtin_frame_address (unsigned int level)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top