首页 > 解决方案 > Valgrind 在运行可执行文件之前有很长时间的停顿

问题描述

让我先说这个问题,我知道在 valgrind 中运行程序需要更长的时间,因为有很多开销。这个问题与此无关。

为了确保我们的数据结构实现具有适当的运行时间,所有测试用例都会在一定时间后超时(通常是教师生成解决方案在 Valgrind 中运行所用时间的 10 倍左右)。当天早些时候,我在笔记本电脑上运行了测试用例,一切都很好。晚上晚些时候,我做了两个非常小的更改(给某事添加一个并为其他事添加一个计数器,这两个都是恒定时间操作)。我重新运行了测试,即使是最基本的测试用例也超时了,比如插入一个节点。我吓坏了,所以我去了校园的 24/7 计算机实验室,在虚拟机上运行我的代码,它运行良好。我在笔记本电脑上运行二进制文件,它们很快。我试着关闭我的电脑,然后重新打开,并没有解决任何问题,所以我尝试更新 valgrind 但它是最新的。我删除了 valgrind,然后重新安装,但这也没有解决问题。为了验证这是 valgrind 而不是我的代码的问题,我制作了一个 hello_world.cpp 然后在 valgrind 中运行二进制文件,没有额外的标志。运行大约需要 15-20 秒。我完全不知道为什么会这样。我没有对我的电脑进行任何更改。我浏览了 valgrind 文档,但我无法确定问题所在。我运行 Fedora 27。我没有对我的电脑进行任何更改。我浏览了 valgrind 文档,但我无法确定问题所在。我运行 Fedora 27。我没有对我的电脑进行任何更改。我浏览了 valgrind 文档,但我无法确定问题所在。我运行 Fedora 27。

标签: valgrindfedora-27

解决方案


推荐阅读