编辑:由于对我的示例的评论是正确的,我将其删除并将其变成了一个通用问题:
在我的项目中,有时我会遇到堆栈损坏。无论我如何努力编写代码来避免它,有时它只是不可避免的。但是当它发生时,有什么方法可以对抗它呢?
我在这个博客中找到了好人给出的一个宏:http ://rxwen.blogspot.com/2009/04/detect-stack-corruption.html ,它读取 ebp 寄存器值以检测损坏。
但是肯定会有更复杂的工具来帮助您避免自残。我正在使用 Codeblocks 和 gcc 编译器在 Windows 中编程。我提出这个问题的原因是为了找到可以在我的编程环境下使用的工具来帮助我检测和纠正这些错误。有什么建议么?
感谢您提供任何答案并花时间阅读我的问题。