linux gcc / clang是否生成调试代码以检查堆栈平衡?

时间:2016-09-28 06:09:12

标签: linux debugging gcc stack balance

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

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

感谢!

1 个答案:

答案 0 :(得分:1)

GCC支持-fstack-protector-fstack-protector-all options。请注意,两者都面向安全加固而不是调试。相反,考虑使用 GCC / CLANG address sanitizer(ASAN)选项(minimal example)或Valgrindminimal example)。