【问题标题】:C++/clang analyzer memory leaks?C++/clang 分析器内存泄漏?
【发布时间】:2013-10-03 01:04:14
【问题描述】:

我试图让 clang++ 告诉我存在内存泄漏。我尝试了 scan-build 但它没有报告任何内容。如何让 llvm/clang 警告我这个问题?

#include <iostream>

int main() {
        int *a = new int;
        *a = 8;
        std::cout<< a << std::endl;
}

【问题讨论】:

标签: c++ clang llvm static-analysis


【解决方案1】:

假阳性修剪通常会导致删除源自 main() 的所有泄漏,因为程序无论如何都会退出。尝试分析相同的代码,但使用不同的函数。

【讨论】:

  • 我也没有报告在非main 函数中分配了新的泄漏指针。有unix.Malloc check 我找不到与new 相关的任何内容。静态分析并不能涵盖所有内容。存在使用 dtrace 或其他工具进行动态分析的原因。
【解决方案2】:

由于int太小,程序有一个“保留部分”,所以对于小对象不需要扩展内存区域,尝试应用1024 * 1024 * 10然后检查结果

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多