C++各种崩溃分析
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
错误原因
1、 访问错误
1、 数组索引访问越界
2、 指针对象访问越界
3、 访问空指针对象
4、 访问无效指针对象
5、 迭代器访问越界
2、 内存泄漏
1、 内存未释放
2、 内存局部释放
3、 参数错误
本地代理、空指针、强制转换
4、 堆栈溢出
调用堆栈溢出:
1、递归调用
2、循环调用
3、消息循环
4、大对象参数
5、大对象变量
参数、局部变量都在栈(Stack)上分配
5、转换错误
有符号类型和无符号类型转换
内存碎片
小内存块重复分配释放导致的内存碎片,最后出现内存不足
数据对齐,机器字整数倍分配
6、 其它如内存分配失败、创建对象失败等都是容易理解和相对少见的错误,因为目前的系统大部分情况下内存够用;此外除0错误也是容易理解和防范;