我试图让铛++告诉我有一个内存泄漏。我试过扫描构建,但没有任何报道。我如何获得llvm/clang来警告我这个问题?C++/clang分析器内存泄漏?
#include <iostream>
int main() {
int *a = new int;
*a = 8;
std::cout<< a << std::endl;
}
我试图让铛++告诉我有一个内存泄漏。我试过扫描构建,但没有任何报道。我如何获得llvm/clang来警告我这个问题?C++/clang分析器内存泄漏?
#include <iostream>
int main() {
int *a = new int;
*a = 8;
std::cout<< a << std::endl;
}
假阳性修剪通常会导致删除从main()的起源所有的泄漏,因为该计划将无论如何退出。尝试分析相同的代码,但使用不同的功能。
泄漏指向新的非'main'函数的指针也不会报告给我。有[unix.Malloc检查](http://clang-analyzer.llvm.org/available_checks.html)我找不到与'new'检查有关的任何内容。静态分析并不能涵盖所有内容。使用dtrace或其他工具进行动态分析的原因存在。 – dmitri
因为int是太小了,也有一些是像一个“保留的部分”的程序,以便为小物体不需要扩展内存区域,尽量采用1024 * 1024 * 10,然后检查结果
什么是你的平台? – dmitri
@dmitri:linux。 – user2814152
用malloc分配的内存会报告给我,但如果我使用'new',则不会。例如:'int * a =(int *)malloc(sizeof(int));' – dmitri