只是尝试启动并运行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需要的文件,我假设它可能与它有关。但它正在我的另一台计算机上工作,所以我认为它可以以某种方式修复。
答案 0 :(得分:20)
我的机器上遇到了同样的问题。
确保您的gcov版本和您使用的编译器匹配。
在使用g ++ - 4.7进行编译时我遇到了这个问题,而且我有gcov 4.6。
在我的机器上sudo apt-get install ggcov
为我提供了最新版本。然后,我必须sudo ln -sf /usr/bin/gcov-4.7 /usr/bin/gcov
在正确的位置制作gcov点。
答案 1 :(得分:8)
我遇到了同样的问题,我安装了正确的版本。我的解决方案:从您编译的任何子目录中删除所有*.gcda
文件。我的make clean
没有涵盖它们。
答案 2 :(得分:8)
我的问题是我更新了gcc
和g++
以便我可以使用更新的编译器,但忘记更新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