3 个不稳定版本
0.2.1 | 2024 年 8 月 7 日 |
---|---|
0.2.0 | 2024 年 1 月 17 日 |
0.1.0 | 2023 年 9 月 14 日 |
#199 in 命令行工具
每月 155 下载
44KB
911 行
drcov2lcov
drcov2lcov 是 DynamoRIO 的 drcov2lcov 在 Rust 中的实现。
当前支持的功能
功能 | DynamoRIO 的标志 |
---|---|
使用 -i 或 --input 选项指定单个输入文件 |
-输入 |
指定一个目录,其中将处理所有 drcov.*.log 文件 |
-目录 |
指定一个包含要处理的 drcov 文件列表的文件 |
-列表 |
指定一个输出文件以存储行覆盖率信息。默认:<当前目录>/coverage.info |
-输出 |
从 drcov 文件中过滤特定模块。这允许仅生成与给定正则表达式匹配的模块的行覆盖率。默认:None |
-模块过滤器 |
从行覆盖率收集中过滤特定模块 | -模块跳过过滤器 |
对于每个模块,在行覆盖率收集中过滤特定的源代码路径 | -源过滤器 |
对于每个模块,在行覆盖率收集中过滤特定的源代码路径 | -源跳过过滤器 |
在收集特定模块的调试信息之前,将模块路径替换为另一个路径 | -路径映射 |
从输入中减少 drov 文件集,到一个包含相同覆盖率信息的较小 drcov 文件集 |
-减少集 |
不支持的功能
功能 | DynamoRIO 的标志 |
---|---|
指定测试函数正则表达式以在输出文件中生成测试覆盖率信息 | -测试模式 |
比 DynamoRIO 的 drcov2lcov 的额外功能
此 drcov2lcov
的实现支持生成使用 Dwarf v5 符号编译的可执行文件/库的行覆盖率(这是最新编译器的默认值)
以及使用压缩 Dwarf 数据编译的可执行文件/库的行覆盖率。
此外,所有过滤器参数都可以接受多个过滤器,而不是 DynamoRIO 实现中的单个过滤器。
用法
要从 drcov
文件生成行覆盖率,您只需运行
drcov2lcov --input <input_file>
这将生成一个包含行覆盖率的 coverage.info
文件到当前工作目录。
如果您想将行覆盖率保存到不同的路径/名称,可以运行
drcov2lcov --input <input_file> --output <output_file>
安装
您可以克隆此存储库并运行
cargo build --release
如果您想从源代码构建此项目或通过运行以下命令直接从 crates.io
安装
cargo install drcov2lcov
依赖关系
~10MB
~182K SLoC