Bien le bonjour,
Ma question est très simple, existe-t-il un moyen pour repérer les débordements de pile ? (une exception levée ou quelque chose comme ça ?)
merci
Bien le bonjour,
Ma question est très simple, existe-t-il un moyen pour repérer les débordements de pile ? (une exception levée ou quelque chose comme ça ?)
merci
solution microsoftEnvoyé par khayyam90
Les overflow doivent etre éviter et non repérer.
Cependant, tu peux aussi reperer leur provenances avec le debuggeur.
Par contre il te faut catcher les exeptions sur tes "new" ou tout autre operation de reservation de memoire.
Si tu utilise des fonctions du genre "strcpy", migre pour une utilisation de fonction du genre "strncpy".
La plupart des systèmes feront une segfault ou truc du style j'imagine.
Normalement, en C (je parle en C), faire un stack overflow revient à faire une erreur de segmentation. Donc à ce que le système envoie un signal SIGSEGV. Donc sans debugueur en C, on peut normalement juste intercepter le signal, mais on ne peut pas savoir directement si c'est dû à une écriture proche de la pile, ou proche du tas par exemple (quoique il doit y avoir des astuces en utilisant la position actuelle de la base et du sommet de la pile).Envoyé par loufoque
Maintenant, en C++, peut être qu'il y a une astuce plus simple (comme sur le lien de Zaan), mais je ne connais pas.
Partager