如何以可移植的方式在C++中自动检测内存泄漏
How can I automatically detect memory leaks in C++ in a portable way?
如何以可移植的方式自动检测C++中的内存泄漏?我正在寻找某种模板解决方案,在那里我可以只使用像NEW或DELETE这样的宏来跟踪创建和删除。它必须在Mac、Linux和Windows上运行。
有很多工具可用于此。像dmalloc这样的E.g特殊库,像libfence这样的库。在Linux上,特别是Valgrind非常有用。
因此,最好的选择可能是获得一些malloc调试库源代码,并在所有开发中使用它。
我建议在Linux和Mac OSX上运行valgrind,在Windows上运行Microsoft应用程序验证程序。这两种工具都是免费的。
如果您想在代码中执行此操作,您可以在映射中跟踪分配。在程序退出时,您只需检查映射是否为空。如果使用宏,则可以将源行和带有分配记录的文件存储在映射中。然而,我确实相信使用工具更简单、更好。它们不仅可以帮助您跟踪新的/删除,而且不需要更改代码。
Valgrid很好——在Linux上运行;Mac。你可能想试试适用于windows的Visual Leak detector。
相关文章:
- 无法获得 std::from_chars 自动检测基础
- QImage:加载图像时自动检测格式
- 如何让Visual Studio自动检测子文件夹中的.cpp文件?
- GCC - 如何自动检测每个基本模块
- 自动检测C++14 "return should use std::move"情况
- c++Windows自动检测代理设置
- 函数有没有办法自动检测其参数的数据类型?(请不要建议函数重载)
- 自动检测源以进行自动制作
- 使C++初始值设定项自动检测工会成员
- 如何使用 C/C++自动检测 snmp 设备
- 用c++实现函数对象的自动检测类型
- C/C++中操作系统的自动检测
- 使用ESP8266自动检测本地服务器
- 如何以可移植的方式在C++中自动检测内存泄漏
- 一种自动检测对象的方法,该方法通过值传递给c++中的函数
- 同时自动检测COM-Port和WriteLine
- 在c++ (Windows)中自动检测Arduino
- 自动检测不带参数的模板参数
- 使用gammu时自动检测调制解调器端口
- 方法自动检测find_first_of()和族不正确的情况