DIY 堆栈保护
DIY stack protection
我在C++有一个Android NDK项目。客户抱怨间歇性、不可重现的故障。我怀疑某处存在内存损坏错误。我已经有一个马洛克屏障;现在我想检查堆栈损坏。
GCC 的 -fstack-protector 对我来说听起来太极端了; 当它检测到错误时,它只会杀死程序;我想要一些更用户友好的东西(一条消息,然后杀死:))。问题 - 有没有办法在 GCC 下实现程序员控制下的堆栈一致性检查器?我不介意内联组装。
例如,一些公开堆栈帧结构的预定义宏会派上用场。
请参阅这个问题的最顶层答案,为什么stack-protecter
用于强化而不是调试:何时以及如何使用 GCC 的堆栈保护功能?
相关文章:
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 为什么在保护模式下继承升级不起作用
- 访问被拒绝后,c++中的故障保护代码
- C++:无法访问声明的受保护成员
- 为什么您需要C++头文件的包含保护
- 算法问题:查找从堆栈中弹出的所有序列
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- lock_guard是否保护返回值
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 为什么调用堆栈数组会导致内存泄漏
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的 int main() 中出现堆栈溢出错误
- 继承和友元函数,从基类访问受保护的成员
- 堆栈和队列是否像C++中的数组一样传递?
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 受保护的析构函数禁用在堆栈上创建派生类的对象?
- 受保护析构函数对象在堆vs堆栈上的分配
- DIY 堆栈保护