c++ - DIY堆栈保护

标签 c++ g++ stack-overflow android-ndk

我有一个 C++ 的 Android NDK 项目。客户提示间歇性的、不可重现的故障。我怀疑某处存在内存损坏错误。我已经有了 malloc 屏障;现在我想检查堆栈是否损坏。

GCC 的 -fstack-protector 对我来说听起来太极端了;当它检测到错误时,它只会终止程序;我想要一些更用户友好的东西(一条消息,然后杀死 :))。问题 - 有没有办法在 GCC 下实现程序员控制下的堆栈一致性检查器?我不介意内联汇编。

例如,一些公开堆栈帧结构的预定义宏会派上用场。

最佳答案

查看此问题的最上面的答案,关于为什么 stack-protecter 用于加固,而不是调试:When and how to use GCC's stack protection feature?

关于c++ - DIY堆栈保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568218/

相关文章:

C++ 计时器 - 启动和停止有效 - 重新启动无效

c++ - 使用 MSHTML 如何将焦点设置在输入字段上?

r - 强制大向量的错误?

c++ - 在 C++ 程序运行期间输入输入值 (./filename.out)

c++ - 为什么会编译,是否有任何编译器开关可以使编译器将其报告为错误或警告?

java - StackOverflowError 与 Kotlin 中的 JPA 双向引用

java - 与 Bunnies Stack OverFlow 一起运行的 Google Foobar Level 4

c++ - GDI+ : Changing DPI

c++ - 在 C++ 中将字符串拆分为多个部分

c++ - g++ 链接错误 : 'undefined reference to ' main'