Pythonスクリプトから共有ライブラリでgcovを実行する際に問題が発生します。
ライブラリを構築するシナリオは次のとおりです。
ファイルのセット(file1.c、file2.c)を静的にリンクされたlib(.a)にコンパイルします。私はこれを行うためにarユーティリティを使用し、すべてのファイルは次のオプションを使用してコンパイルされます。
-static -fprofile-arcs -ftest-coverage -coverage
他のいくつかのファイル(たとえばfile3.c)と上記で指定した.aファイルを使用して.soファイルを作成します。コンパイルとリンクの際に、同じオプションを再度使用します。
.soをPythonスクリプトにロードして、実行します。
問題:生成されるカバレッジファイルには、file3.cのコードカバレッジのみが含まれています。.aライブラリの一部であるファイルは、カバレッジレポートに表示されません。
ここに.aをリンクしているときにオプションがありませんか?