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でコンパイルするときにこの正確な問題が発生し、gcov4.6が発生しました。
私のマシンではSudo apt-get install ggcov
最新バージョンを入手しました。それから私はSudo ln -sf /usr/bin/gcov-4.7 /usr/bin/gcov
gcovポイントを適切な場所に配置します。
同じ問題が発生し、正しいバージョンがインストールされました。私の場合の解決策:コンパイルするサブディレクトリからすべての*.gcda
ファイルを削除します。私のmake clean
はそれらをカバーしていませんでした。
私の問題は、新しいコンパイラを使用できるように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