gpt4 book ai didi

c++ - 堆损坏 : What could the cause be?

转载 作者:IT老高 更新时间:2023-10-28 21:59:01 33 4
gpt4 key购买 nike

我正在调查由于堆损坏而导致的崩溃。由于这个问题很重要并且涉及分析堆栈和转储结果,因此我决定对与崩溃相关的文件进行代码审查。

坦率地说,我对堆何时可能损坏没有深入的了解。

如果您能提出可能导致堆损坏的方案,我将不胜感激。

平台:Windows XP

语言:C++

编译器:VC6

最佳答案

常见的场景包括:

  • 在数组的分配空间之外写入(char *stuff = new char[10]; stuff[10] = 3;)
  • 转换为错误的类型
  • 未初始化的指针
  • -> 和 .
  • 的拼写错误
  • 使用 * 和 &(或两者的倍数)时出现拼写错误

[编辑] 从评论中,还有一些:

  • 将 new [] 和 new 与 delete [] 和 delete 混合使用
  • 复制构造函数丢失或不正确
  • 指向垃圾的指针
  • 对同一数据多次调用 delete
  • 没有虚析构函数的多态基类

关于c++ - 堆损坏 : What could the cause be?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504251/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com