EDIT: Debido a un comentario que tenía razón sobre mi ejemplo lo quité y convertir esto en una pregunta genérica:herramientas para tratar con daños en la pila en C++
Algunas veces en mis proyectos en los que se encuentran con daños en la pila. No importa cuánto luche para escribir código para evitarlo, a veces es inevitable. Pero cuando sucede, ¿cuáles son las formas de combatirlo?
Encontré una macro dada por el buen tipo en este blog: http://rxwen.blogspot.com/2009/04/detect-stack-corruption.html que lee el valor del registro de ebp para detectar daños.
Pero existen herramientas más sofisticadas para ayudar a no dispararse en el pie. Estoy programando en Windows usando Codeblocks y el compilador gcc. La razón por la que hago esta pregunta es encontrar herramientas que pueda usar en mi entorno de programación para ayudarme a detectar esos errores y corregirlos. ¿Alguna sugerencia?
Gracias por cualquier respuesta y por tomarse el tiempo para leer mi pregunta.
1. No se ha publicado ningún código. 2. ¿Cómo sabes que hay corrupción en la pila? 3. ¿Por qué crees que el problema radica donde has indicado? 4. ¿Puedes publicar los contenidos de los miembros y constructores de la clase 'artist'? –
Voy a reformular la pregunta. No debería haber publicado este ejemplo. No es un ejemplo real de corrupción en mi proyecto, solo un ejemplo de una corrupción con la que tuve que lidiar en el pasado, que realmente me cobró los nervios. Convertiré esto en una pregunta genérica sobre corrupción de pila y herramientas para manejarlo. – Lefteris