[英]gcda files are not generated while running the functional test cases on the instrumented image
我正在嘗試生成C文件的覆蓋范圍(Yocto項目)。
因此,我在大多數可用模塊的Makefile.am中添加了gcov標志“ -g -O0 --coverage” 。
它在每個帶有覆蓋標志的模塊編譯期間生成了“ .gcno”文件。
我已經從所有這些模塊生成了映像,並將其加載到測試設備中並運行了功能測試用例。
我可以使用字符串命令從運行測試設備的進程中找到“ gcda”文件的路徑。
因此,在將進程ID附加到gdb之后,我已經使用gdb模式使用“ __gcov_flush”命令來刷新覆蓋率。
這將引發錯誤“當前上下文中沒有符號__gcov_flush”。 請建議我這個錯誤的可能原因。
根據評論,不可能直接使用Coverage Compiler標志構建Linux內核並假設獲得有意義的coverage指標。
代碼覆蓋率指標實際上要求某些文件系統可用於寫入運行時覆蓋率數據(即* .gcda文件)。
如果要啟用Linux內核的代碼覆蓋率,則這里提供了有關如何使用GCOV虛擬文件系統來啟用支持以收集覆蓋率指標的文檔。
同樣,假設您要針對其他體系結構進行交叉編譯,那么在執行后捕獲* .gcno文件之后,可能必須使用跨gcov工具收集覆蓋率指標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.