23

只是试图让 gcov 启动并运行,得到以下错误:

$ gcov src/main.c -o build
build/main.gcno:version '404*', prefer '407*'

gcov: out of memory allocating 14819216480 bytes after a total of 135168 bytes

我正在使用 clang/profile_rt 来生成 gcov 需要的文件,我假设这可能与它有关。不过,它正在我的另一台计算机上运行,​​所以我认为它可以以某种方式修复。

4

3 回答 3

25

我刚刚在我的机器上遇到了同样的问题。

确保您的 gcov 版本和您使用的编译器匹配。

使用 g++-4.7 编译时我遇到了这个确切的问题,我有 gcov 4.6。

在我的机器上sudo apt-get install ggcov给了我最新的版本。然后我不得不sudo ln -sf /usr/bin/gcov-4.7 /usr/bin/gcov在正确的地方制作 gcov 点。

于 2013-02-03T19:20:47.450 回答
11

我的问题是我更新了gccg++所以我可以使用更新的编译器,但忘记更新gcov版本意味着运行“ gcov”或“ lcov”选择了以前的编译器版本gcov

所以基本上运行g++ --version并且gcov --version应该产生相同的版本号,否则事情会变得非常错误。

这是我更新编译器版本的方法,最后一行是我缺少的让它全部工作的内容。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90
于 2015-01-12T13:46:30.127 回答
10

我只是遇到了同样的问题,并且安装了正确的版本。*.gcda我的解决方案:从您编译的任何子目录中删除所有文件。我make clean没有涵盖它们。

于 2014-05-14T12:07:19.497 回答