gcov内存不足/版本不匹配?

只是试图让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需要的文件,我假设它可能与它有关。 但是,它正在我的另一台计算机上工作,所以我认为它可以以某种方式修复。

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

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

在使用g ++ – 4.7进行编译时,我遇到了这个问题,而且我有gcov 4.6。

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

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

所以基本上运行g++ --versiongcov --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 

我遇到了同样的问题,我安装了正确的版本。 我的解决方案:从你编译的任何*.gcda删除所有*.gcda文件。我的make clean没有覆盖它们。