1

在 Windows 上,VC 编译器会在函数调用结束时生成带有 _chkesp 隐式函数的调试版本代码,并在堆栈上分配一些 0xCCCCCCCC 缓冲区来检查和防止堆栈损坏。

gcc/clang 是否具有通过某些命令行选项提供额外堆栈检查/预防的相同能力?额外的堆栈空间或堆栈检查?

谢谢。!

4

1 回答 1

1

GCC 支持-fstack-protector-fstack-protector-all 选项。请注意,两者都面向安全强化而不是调试。相反,请考虑使用 GCC/CLANG地址清理程序 (ASAN) 选项(最小示例)或Valgrind最小示例)。

于 2016-09-28T10:06:44.120 回答