我在没有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结束?
答案 0 :(得分:1)
这取决于程序。例如,如果您使用线程,程序可能会陷入死锁,因为Valgrind上的线程行为不同(Valgrind序列化线程应用程序)。