结果分析
任务完成后会跳转到分析结果界面,如下图所示。
Call Tree页签会列出存在内存泄漏的函数。以main函数为例,可以看到main函数及其调用函数的内存泄漏情况,包括main函数本身内存泄漏的大小及次数情况。
在源码页签,能看到具体的内存泄漏代码位置,方便修改代码。以本示例代码为例,main函数中存在的一次泄漏,malloc分配了一片内存,但未释放,如下图所示。
解决main函数泄漏问题的具体步骤如下。
- 在合适的地方增加以下代码,释放内存。
free(p); p = NULL;
- 重新编译运行,使用工具再次扫描。
- 重新编译运行后,main函数本身已经不存在内存泄漏问题。重复以上步骤依次修改存在内存泄漏风险的函数,解决内存泄漏问题。
父主题: 内存泄露问题