堆栈缓冲区溢出(Windows,C++):如何检测罪魁祸首?
Posted
技术标签:
【中文标题】堆栈缓冲区溢出(Windows,C++):如何检测罪魁祸首?【英文标题】:Stack buffer overrun (Windows, C++) : how can I detect the culprit? 【发布时间】:2011-01-29 05:27:09 【问题描述】:Windows 上是否有任何工具/库可以帮助我找出罪魁祸首?这是一个相当大的代码库,有多个线程。
我主要为 Linux 编写代码; Windows 是一个陌生的领域。感谢您的意见。
【问题讨论】:
【参考方案1】:对于堆栈缓冲区,使用 /GS 编译,请参阅 Compiler Security Checks In Depth 对于堆缓冲区,您可以尝试堆 gflag,请参阅GFlags and PageHeap,但需要小心,因为所有分配,无论大小,都会获得自己的页面。
【讨论】:
以上是关于堆栈缓冲区溢出(Windows,C++):如何检测罪魁祸首?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c / c++ 程序中检测可能/潜在的堆栈溢出问题?
面向开发的内存调试神器,如何使用ASAN检测内存泄漏堆栈溢出等问题