有没有办法用静态分析工具检测像这样的简单内存泄漏?我无法更改代码以包含运行时内存泄漏检测中使用的tipical包含(struc1是一个带有一些字段的简单结构)。
void noRelease(void)
{
struc1 *memoryLeak;
memoryLeak = (struc1 *) malloc(sizeof struc1);
if (NULL != memoryLeak)
{
memoryLeak->a=3;
}
}
VSTS(Visual Studio Team System)检测到由于异常导致的内存泄漏,但无法看到此简单泄漏。
任何想法都会非常有用。 非常感谢。
答案 0 :(得分:1)
无论如何,我写的那个工具会检测上面代码中缺少free。它并不比那更聪明。如果指针在其他地方是免费的,它就找不到它。
答案 1 :(得分:1)
CPPCheck执行静态代码分析并检测那些泄漏