CppCoreGuidelines-zh-CN/CppCoreGuidelines-zh-CN.md at master · JohnoString/CppCoreGuidelines-zh-CN · GitHub

以下是一些C++常见的Crash问题:

  1. 空指针引用(Null pointer dereference):当一个指向空地址的指针被解引用时,程序会发生crash。

  2. 内存泄漏(Memory leak):当程序中未释放的动态分配的内存占用过多,导致系统资源不足,从而导致crash。

  3. 缓冲区溢出(Buffer overflow):当程序尝试写入超出分配给缓冲区的内存空间时,会导致crash。

  4. 数组越界(Array out of bounds):当程序尝试访问数组范围之外的元素时,会导致crash。

  5. 野指针(Dangling pointer):当程序使用一个已被释放的指针时,会导致crash。

  6. 栈溢出(Stack overflow):当程序使用过多的栈空间时,会导致栈溢出,从而导致crash。

  7. 多线程竞争(Multithreading race condition):当多个线程同时访问共享的数据时,可能导致数据不一致或程序崩溃。

  8. 动态类型转换错误(Dynamic cast error):当使用dynamic_cast运算符将一个指针或引用转换为一个不兼容的类型时,会导致crash。

  9. 虚函数调用错误(Virtual function call error):当使用虚函数调用一个未初始化的对象或已释放的对象时,会导致crash。

  10. 访问非法指针(Accessing invalid pointer):当程序访问已经被释放的内存或指向非法地址的指针时,会导致crash。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐