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".
Pour les details, cherche tout seul !
La plupart des systèmes feront une segfault ou truc du style j'imagine.
Boost ftw
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.
Je ne répondrai à aucune question technique en privé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager