【发布时间】:2013-06-21 01:55:50
【问题描述】:
我有以下 AOSP 项目设置
1) 我在 (AOSP 根目录)/vendor/myProject/test.cpp 中有 test.cpp
2) 在 Android.mk 中我使用过 LOCAL_CFLAGS += -g -fprofile-arcs -ftest-coverage LOCAL_LDFLAGS += -lgcov
3) 当我编译代码时,我得到 test.gcno: (AOSP 根目录)/out/target/product/generic/obj/EXECUTABLES/myProject_intermediates
4) 然后我在设备上进行测试(adb 同步)
5) 然后在设备上我使用了以下内容:
导出 GCOV_PREFIX=/供应商
export GCOV_PREFIX_STRIP=13(去除不必要的路径)
6) 我运行测试 ./system/bin/test 并获得 test.gcda 文件 设备(外壳)/vendor/test.gcda
7) 我将 test.gcda(从设备)复制到我已经拥有 test.gcno 的构建目录(/out/target/product/generic/obj/EXECUTABLES/myProject_intermediates)
8) 现在我在 /out/target/product/generic/obj/EXECUTABLES/myProject_intermediates 然后按如下方式运行 gcov:
(AOSP 根 目录)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcov 测试
为此,我得到如下输出:
文件 'vendor/myProject/test.cpp' 执行的行数:23.00% of 223
vendor/myProject/test.cpp:creating 'test.cpp.gcov'
vendor/myProject/test.cpp:无法打开源文件
谁能帮我解决这个问题。它说 test.cpp:cannot open source file gcov 没有生成完整的报告。我还通过指定源路径来检查 -b 选项,如下所示:
(AOSP 根 目录)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcov -b (AOSP 根目录)/vendor/myProject 测试
没用。
我猜这个问题是因为不同目录中的分布式文件(gcno,gcda,test.cpp)。
谢谢
【问题讨论】:
标签: android android-source gcov lcov test-coverage