fortran - 使用 GCC 运行的覆盖率不会产生数据
问题描述
我有一个 Fortran 程序,我想用 GNU 覆盖来分析。因此,我使用 GCC 11.2 编译了程序,并使用了以下覆盖选项:
-fprofile-arcs -ftest-coverage
此外,我添加了标志以禁止编译器内联代码:
-fno-inline -fno-inline-small-functions -fno-default-inline
我关闭lto
并添加-lcgov
到链接器。这个设置对于我证明的示例程序很有效。但是当我尝试将它用于我感兴趣的程序时,它没有生成任何 *.gcno 文件,什么也没有。但是,执行退出良好(0 退出代码)产生正确的结果。
我的问题是,我怎样才能找到问题所在。没有错误消息,我不知道从哪里开始。这是一个相当大的程序,大约 10 MB 的源代码,这会是个问题吗?此外,它在很大程度上取决于MKL
外部库是否会成为问题?有一次我不小心混合了编译时和运行时环境,它抱怨版本libgcov.so
,所以毕竟有些东西在工作。或者您对覆盖率分析还有其他建议吗?
解决方案
推荐阅读
- vue.js - Axios 在 foreach 中存储相同的信息
- npm - VSC Apex-prettier-plugin-apex 未格式化 - 引发错误
- javascript - 如何在 js 文件 (discord.js) 中执行终端命令
- python - 列表列表中列表的并行更新
- guidewire - 什么是 Keyable 是 Guidewire 政策中心?
- git - 吉特流。如何获取第一个分支的功能/代码来开发第二个分支
- r - as.Date() 如何将完全写入的日期转换为 ISO 8601?
- python-3.x - Python:为什么这个 Python 控制台应用程序会出现这个错误?
- c# - 如何将字符串和命令从父组件传递到子组件
- java - Java删除ArrayList中的重复问题