跳至主要内容

数据集检查

[内部流程] 检查特定数据集的内部一致性。

谁可以使用此功能?

CodeQL 可用于以下类型的仓库

本文内容

此内容描述了 CodeQL CLI 的最新版本。有关此版本的更多信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

要在较早版本中查看此命令可用的选项的详细信息,请在终端中使用 --help 选项运行该命令。

概要

Shell
codeql dataset check <options>... -- <dataset>

描述

[内部流程] 检查特定数据集的内部一致性。

此命令通常对 CodeQL 提取器的开发人员最有用,因为它可以验证提取器生成的数据。如果针对数据库的查询产生不一致的结果,它也可能很有用,可以排除底层数据中的问题作为原因。

选项

主要选项

<dataset>

[必填] 要检查的原始 QL 数据集的路径。

--failing-exitcode=<code>

[高级] 设置如果遇到任何错误则要生成的退出代码。通常为 1,但解析输出的工具可能会发现将其设置为 0 很有用。

--format=<fmt>

选择输出格式。可能的选项:

text (默认):人类可读的文本呈现。

json:对象的流式 JSON 数组。

jsonz:以零结尾的 JSON 对象流。

--[no-]precise-locations

[高级] 投入额外努力来计算不一致性的精确位置。这将花费更多时间,但可能会更容易调试提取器的行为。

--max-resolve-depth=<n>

[高级] 应解析 ID 以解释不一致性的最大深度。(默认值:3)

--max-errors-per-checker=<n>

应该明确报告的每种类型的不一致性错误的最大数量。(默认值:5)

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

[高级] 向运行命令的 JVM 提供选项。

(请注意,包含空格的选项将无法正确处理。)

-v, --verbose

逐步增加打印的进度消息的数量。

-q, --quiet

逐步减少打印的进度消息的数量。

--verbosity=<level>

[高级] 将详细程度明确设置为错误、警告、进度、进度+、进度++、进度+++ 之一。覆盖 -v-q

--logdir=<dir>

[高级] 将详细日志写入给定目录中的一个或多个文件中,生成的名称包括时间戳和正在运行的子命令的名称。

(要写入名称完全受您控制的日志文件,请改用 --log-to-stderr 并根据需要重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的存储位置,这些数据将在 CLI 的多次运行之间保留,例如下载的 QL 包和已编译的查询计划。如果未明确设置,则默认为用户主目录中名为 .codeql 的目录;如果它尚不存在,则会创建它。

v2.15.2 起可用。