c++缓冲区溢出问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++缓冲区溢出问题相关的知识,希望对你有一定的参考价值。
在已损坏了程序内部状态的 找词游戏.exe 中发生了缓冲区溢出。按“中断”以调试程序,或按“继续”以终止程序。
这个问题一般是什么原因呢?
请问这个是指哪里错了呢?单步调试的时候是到主函数最后一个一个大括号时出错,输出端显示了“请按任意键继续...”然后就弹出出错提示框。析构函数貌似没有错。那究竟是什么问题呢?
可是我看了数组长度都没有变动应该不会错的TT
参考技术B 能把代码贴出来看看吗?这样怎么定位问题!追问确实。。可是代码太长了
参考技术C 自己写的程序,还是别人的。追问自己写的。。单步调试的时候是在最后一个大括号的时候弹出错误框,这是已经跳过return 0了输出端也已经显示“请按任意键继续...”,析构函数貌似没有错。。究竟是什么原因呢
参考技术D try catch一下异常 看看怎么回事缓冲区溢出、格式化字符串错误和整数溢出的 C++ 安全框架
【中文标题】缓冲区溢出、格式化字符串错误和整数溢出的 C++ 安全框架【英文标题】:C++ Security Framework for Buffer Overflows, Format String Bugs and Integer Overflows 【发布时间】:2013-02-28 11:48:16 【问题描述】:请问有谁知道任何可以防止缓冲区溢出、格式字符串错误和整数溢出的 C++ 安全框架?
【问题讨论】:
很好,但问题是,这可能吗? @MM 我不知道这是否可能。我的论文导师告诉我开发两个安全框架:一个用于 Web,一个用于 C++。我发现了很多 web 框架,但是 C++ 似乎没有很多 您无法真正获得 100% 的保护。有像 StackGuard 这样的工具,它使用金丝雀值来检测堆栈溢出(堆溢出是另一回事)和 StackShield,但它们都是可颠覆的。这可能是一个不错的起点——en.wikipedia.org/wiki/Buffer_overflow_protection 【参考方案1】:这是当前 Microsoft 编译器的标准功能,除了格式字符串错误。这些不是真正的 C++ 错误,而是 C 错误。 C++ 格式化解决方案通常是类型安全的。
【讨论】:
以上是关于c++缓冲区溢出问题的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何工具可以检测 Visual C++ 6.0 上的缓冲区溢出? [关闭]