首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-f堆栈保护器、-f堆栈保护器-all和-fmudflap

-f堆栈保护器、-f堆栈保护器-all和-fmudflap
EN

Stack Overflow用户
提问于 2011-10-18 23:48:27
回答 2查看 6.3K关注 0票数 6

是也保护基于堆的内存分配,还是只保护基于堆栈的内存分配?

前2个和-fmudflap有什么不同?

对于哪一个更适合调试,有什么建议吗?

(我不确定gcc man page是否足够清楚,或者我只是不理解它……)

代码语言:javascript
复制
char foobar[10]; // stack-based

char *foobar = malloc(10); // heap-based
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-19 00:51:58

Mudflap是用于指针检查的。参见this pdf。您需要安装相关的库才能使用这些gcc功能。我更喜欢valgrind来检测这样的错误,因为它不需要重新编译/重新链接,而且更容易使用,但这些也是有价值的。

票数 -1
EN

Stack Overflow用户

发布于 2011-10-19 01:55:22

-fstack-protector和-fstack-protector-都与堆分配无关。

fstack-protector仅保护字符串(缓冲区溢出攻击的主要问题目标),-fstack-protector-all保护所有类型。这里有一些描述:http://en.wikipedia.org/wiki/Buffer_overflow_protection

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7810036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档