我尝试使用 valgrind 分析一个简单的 c prog:
[zsun@nel6005001 ~]$ valgrind --tool=memcheck ./fl.out
==2238== Memcheck,内存错误检测器
==2238== 版权所有 (C) 2002-2009 和 GNU GPL'd,由 Julian西沃德等人。
==2238== 使用 Valgrind-3.5.0 和 LibVEX;使用 -h 重新运行版权信息
==2238== 命令:./fl.out
==2238==
==2238==
==2238== HEAP 摘要:
==2238== 退出时使用:1,168 字节1 个块
==2238== 总堆使用量:1 个分配,0 个释放,分配 1,168 个字节
==2238==
==2238== 泄漏摘要:
==2238== 肯定丢失:0 个块中的 0 个字节
==2238= = 间接丢失:0 个块中的 0 个字节
==2238== 可能丢失:0 个块中的 0 个字节
==2238== 仍然可以访问:1 个块中的 1,168 个字节
==2238== 抑制:0 个块中的 0 个字节
==2238== 使用 --leak-check=full 重新运行以查看泄漏内存的详细信息
==2238==
==2238== 对于检测到和抑制的错误计数,重新运行:-v
==2238== 错误摘要:0 个上下文中的 0 个错误(抑制:8 个中的 12 个)
分析计时器已过期
我试图分析的 c 代码如下:
void forloop(void){
int fac=1;
int count=5;
int i,k;
for (i = 1; i <= count; i++){
for(k=1;k<=count;k++){
fac = fac * i;
}
}
}
显示“分析计时器已过期”,这是什么意思?如何解决这个问题呢?谢谢!