引发new/malloc动态申请内存失败的常见原因分析与总结

目录

1、概述

2、调用哪些接口去动态申请内存?

3、malloc和new申请内存失败说明

3.1、malloc申请内存失败,返回NULL

3.2、new申请内存失败,抛出异常

4、动态申请内存失败的可能原因分析

4.1、申请的内存过大,进程中没有这么大连续的内存可用了

4.2、程序占用的用户态虚拟内存已经接近上限,申请不到可用的内存了

4.3、进程中的内存碎片过多

4.4、发生堆内存越界,导致堆内存被破坏,导致new操作产生异常

5、最后


C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931

你可能感兴趣的:(C/C++实战专栏,动态申请内存,new,malloc,内存不足,抛出异常,堆内存被破坏,内存碎片)