Windows C++内存泄漏调试技术——系列1

文章目录

      • 概念——什么是内存泄漏?
      • 根源——为什么会产生内存泄漏?
        • 1、内存布局
        • 2、栈
        • 3、堆
        • 4、堆和栈的区别

在C/C++语言中,内存的分配与回收都是由开发人员在编写代码时主动完成的, 好处是内存管理的开销较小,程序拥有更高的执行效率;弊端是依赖于开发者的水平,随着代码规模的扩大,极容易 遗漏释放内存的步骤,或者一些不规范的编程可能会使程序具有安全隐患。如果对内存管理不当,可能导致程序中存在内存缺陷,甚至会在运行时产生内存故障错误。

内存泄漏是各类缺陷中十分棘手的一种,对系统的稳定运行威胁较大。当动态分配的内存在程序结束之前没有被回收时,则发生了内存泄漏。由于系统软件,如操作系统、编译器、开发环境等都是由C/C++语言实现的,不可避免地存在内存泄漏缺陷,特别是一些在服务器上长期运行的软件,若存在内存泄漏则会造成严重后果,例如性能下降、程序终止、系统崩溃、无法提供服务等。

所以,本系列文章从概念根源定位处理以及避免几个方面去深入讲解,希望能给大家带来

你可能感兴趣的:(C++《i+1》,c++,开发语言,内存泄漏,调试技术)