Valgrind,Helgrind使用了> 90%的CPU并且没有产生结果

时间:2015-04-30 14:51:25

标签: linux valgrind

我在脚本中的程序上运行Valgrind的Helgrind工具。

这是脚本的相关部分: (我写的唯一一行是第一行)

    sudo valgrind --tool=helgrind ./core-linux.bin --reset PO 2>> ../Test_CFE_SB/valgrindLog.txt &
    PID=$!
    printf "\n" >> ../Test_CFE_SB/valgrindLog.txt
    sleep $sleepTime
    #did it crash?
    ps ax | grep $PID | grep -vc grep
    RESULT=$?
    if [ $RESULT -eq 0 ]
    then
        sudo kill $PID
        echo "Process killed by buildscript."
    else
        echo $name >> crash.log

OS:32位XUbuntu 14.04

程序helgrind正在运行,core-linux.bin,不会像服务器一样自行关闭。运行直到获得kill命令。

在kill $ PID命令之后,程序会关闭,但Helgrind会在后台继续运行,占据CPU的94%左右。然后我必须使用kill -9杀死它,而valgrindLog.txt只包含来自Valgrind的起始消息,没有报告或任何内容。我已经让它以相同的结果度过了整个晚上,所以并不是说它只是很慢。

我运行完全相同的脚本,除了使用--tool = memcheck而且运行得非常好。 valgrindLog.txt包含应有的一切,一切都很好。如果我使用--tool = drd,那就好了。但是helgrind并不想打球,不幸的是我对Valgrind并不熟悉,至少到目前为止,我可以自己解决这个问题。

1 个答案:

答案 0 :(得分:0)

要查看Valgrind / helgrind下您的应用程序正在执行的操作, 你可以使用gdb + vgdb附加,并检查你的程序是否进展 否则,它会被阻挡。

如果你不能附加,那就意味着Valgrind正在自己运行 代码,这可能是一个valgrind / helgrind错误。

如果您有一个小型复制器,请在valgrind bugzilla中提交错误