有没有无限循环?

时间:2013-09-18 15:50:11

标签: valgrind callgrind

我在没有valgrind的情况下运行程序,它只是在一分钟内就结束了。

当我尝试通过callgrind(valgrind --tool=callgrind)运行时,程序永远不会结束(至少六个小时),这里是top命令输出

 PID USER      PR  NI %CPU    TIME+  %MEM  VIRT  RES  SHR S COMMAND
 3722 vhovhann  17   0   75  52:38.95 13.5 10.4g 9.6g  34m R callgrind-amd64
  PID USER      PR  NI %CPU    TIME+  %MEM  VIRT  RES  SHR S COMMAND
 3722 vhovhann  17   0  100  53:21.40 13.6 10.4g 9.6g  34m R callgrind-amd64

我想知道为什么程序没有以valgrind结束?

1 个答案:

答案 0 :(得分:1)

这取决于程序。例如,如果您使用线程,程序可能会陷入死锁,因为Valgrind上的线程行为不同(Valgrind序列化线程应用程序)。