他の人がgenerate code coverage with XCode 4にアクセスできないと報告しましたが、私はXCode 4の中から実行できないだけでなく、できませんそれはコマンドラインからの簡単なおもちゃプログラムでさえも。 、Mac OS X LionとXCode 4/llvm-g ++ - 4.2のコードカバレッジはありません
g++ -c -g -O0 --coverage -o $PWD/obj/cov.o $PWD/cov.c
g++ -g -O0 --coverage -o $PWD/bin/cov $PWD/obj/*.o
$PWD/bin/cov
可哀想:
#include <stdio.h>
int main (void) {
int i;
for (i = 1; i < 10; i++) {
if (i % 3 == 0)
printf("%d is divisible by 3\n", i);
if (i % 11 == 0)
printf("%d is divisible by 11\n", i);
}
return 0;
}
私は、コードカバレッジを生成するための試みで、次のコマンドを使用:私はこのcov.cファイルを作成するために、私を導いhereとhere与えられた例は、続きますobjディレクトリにcov.gcnoファイルはありません。実際に、私はこの後に持っている唯一のファイルは、以下のとおりです。 cov.c OBJ/cov.o binに/ COV
さらに、私はnm bin/cov
入力した場合、私は以下の取得:
0000000100001048 S _NXArgc
0000000100001050 S _NXArgv
0000000100001060 S ___progname
0000000100000000 A __mh_execute_header
0000000100001058 S _environ
U _exit
0000000100000e40 T _main
U _printf
0000000100001000 s _pvars
U dyld_stub_binder
0000000100000e00 T start
これをlibgcov.aがリンクされなかったことを示唆している私は
g++ -g -O0 --coverage -o $PWD/bin/cov $PWD/obj/*.o
を交換する場合:。
g++ -g -O0 --coverage -o $PWD/bin/cov -lgcov $PWD/obj/*.o
全く同じ結果が得られます。
詳細情報:
g++ --version
利回り:「i686の-りんごdarwin11-LLVM-G ++ - 4.2(GCC)4.2.1 (されたApple Inc.のビルド5658に基づく)(LLVMは、2336.1.00を構築) "- また、gcc(llvm-gcc)を使ってみました。
私のシステムにはg ++ - 4.2はありません。しかし、clang ++があり、そのトリックを行うようです。 –