Tag: 代码覆盖

在运行时转储gcov数据

我正在使用gcov为我正在处理的C项目收集代码覆盖率数据。 我知道一旦程序在完成后退出,gcov会转储代码覆盖率数据。 如何为长时间运行的进程收集gcov数据。 (比方说,我的程序是在永不关闭的服务器中运行的操作系统的内核 – 我需要为它收集代码覆盖率数据)。 是否有任何方法可以定期(例如,每1小时)或在特定事件中生成gcov转储代码覆盖率数据 – 如何触发gcov转储代码覆盖率数据(而不是在程序终止后等待gcov执行此操作)?

GCC的代码覆盖选项如何工作?

请考虑以下命令: gcc -fprofile-arcs -ftest-coverage main.c 它生成要由gcov使用的文件main.gcda,以生成覆盖率分析。 那么main.gcda是如何生成的? 仪器如何完成? 我可以看到检测代码吗?

gcov内存不足/版本不匹配?

只是试图让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需要的文件,我假设它可能与它有关。 但是,它正在我的另一台计算机上工作,所以我认为它可以以某种方式修复。