Skip to main content

database trace-command

[Plumbing] 在跟踪生成过程中运行单个命令。

谁可以使用此功能?

CodeQL 可用于以下存储库类型:

本文内容

注意

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

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

摘要

Shell
codeql database trace-command [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database> <command>...

说明

[Plumbing] 在跟踪生成过程中运行单个命令。

这会在跟踪器下运行单个给定命令行,因此可能会执行一些提取,但不会最终确定生成的 CodeQL 数据库。

选项

主要选项

<database>

[必需] 正在构建的 CodeQL 数据库的路径。 必须准备好此选项,以便使用 codeql database init 进行提取。

如果提供了 --db-cluster 选项,这不是数据库本身,而是一个包含数据库的目录,所有这些数据库将一起处理。

<command>...

要执行的命令 这可能由一个或多个用于创建进程的参数组成。 建议在列出命令的参数之前传递“--”参数,以避免其参数与我们的参数混淆。

命令应退出,状态代码为 0。 任何其他退出代码都解释为失败。

当给出 --index-traceless-dbs 时,可以省略该命令。

-j, --threads=<num>

要求提取程序使用此数量的线程。 此选项作为建议传递给提取程序。 如果设置了 CODEQL_THREADS 环境变量,则环境变量值优先于此选项。

可以传递 0 以在计算机上对每个核心都使用一个线程,也可以传递 -N 以将 N 个核心保留为未使用状态(仍至少使用一个线程的情况除外) 。

-M, --ram=<MB>

要求提取程序使用此内存量。 此选项作为建议传递给提取程序。 如果设置了 CODEQL_RAM 环境变量,则环境变量值优先于此选项。

--[no-]db-cluster

指示命令行上给定的目录不是数据库本身,而是包含一个或多个正在构建的数据库的目录。 这些数据库将一起处理。

--no-tracing

[高级] 不要跟踪指定的命令,而是依赖它直接生成所有必要的数据。

--extra-tracing-config=<tracing-config.lua>

[高级] 跟踪器配置文件的路径。 这可用于修改生成跟踪器的行为。 它可用于选取作为生成命令的一部分运行的编译器进程,并触发其他工具的执行。 提取程序提供在大多数情况下应该都能工作的默认跟踪器配置文件。

--[no-]index-traceless-dbs

除了指定的命令之外,为不依赖于跟踪生成过程的提取程序运行 main 脚本。 如果要使用 --db-cluster 为多种语言构造数据库,则应仅将此选项指定给 codeql database trace-command 的一次调用。

--[no-]use-build-mode

根据数据库的生成模式确定要运行的内容。 此选项无法与 --index-traceless-dbs 一起使用。

--working-dir=<dir>

[高级] 应在其中执行指定命令的目录。 如果未提供此参数,则会在传递给 codeql database create--source-root 的值(若存在)中执行命令。 如果未提供 --source-root 参数,则在当前工作目录中执行命令。

--no-run-unnecessary-builds

[高级] 仅当正在构建的数据库使用依赖于跟踪生成过程的提取程序时,才运行指定的生成命令。 如果未给定此选项,即使 CodeQL 不需要该命令,也会执行该命令,前提是出于其他原因需要其副作用。

用于控制提取程序行为的选项

-O, --extractor-option=<extractor-option-name=value>

设置 CodeQL 提取程序的选项。 extractor-option-name 应采用这种形式:extractor_name.group1.group2.option_name or group1.group2.option_name。 如果 extractor_option_name 以提取程序名称开头,则指示的提取程序必须声明选项 group1.group2.option_name。 否则,声明选项 group1.group2.option_name 的任何提取程序都将设置该选项。 value 可以是不包含换行符的任何字符串。

可以重复使用此命令行选项来设置多个提取程序选项。 如果为同一提取程序选项提供多个值,则行为取决于提取程序选项所需的类型。 字符串选项将使用提供的最后一个值。 数组选项将按顺序使用提供的所有值。 使用此命令行选项指定的提取程序选项在通过 --extractor-options-file 给定的提取程序选项之后进行处理。

传递给 codeql database initcodeql database begin-tracing 时,选项将仅应用于间接跟踪环境。 如果工作流还调用 codeql database trace-command,则还需根据需要传递选项。

有关 CodeQL 提取程序选项的详细信息,包括如何列出每个提取程序声明的选项,请参阅 https://codeql.github.com/docs/codeql-cli/extractor-options

--extractor-options-file=<extractor-options-bundle-file>

指定提取程序选项捆绑文件。 提取程序选项捆绑文件是设置提取程序选项的 JSON 文件(扩展名为 .json)或 YAML 文件(扩展名为 .yaml.yml)。 该文件必须具有顶级映射键“extractor”,并且其下必须具有作为二级映射键的提取程序名称。 进一步的映射级别表示嵌套的提取程序组,字符串和数组选项是具有字符串和数组值的映射条目。

按指定的顺序读取提取程序选项捆绑文件。 如果不同的提取程序选项捆绑文件指定了相同的提取程序选项,则行为取决于提取程序选项所需的类型。 字符串选项将使用提供的最后一个值。 数组选项将按顺序使用提供的所有值。 使用此命令行选项指定的提取程序选项在通过 --extractor-option 给定的提取程序选项之前进行处理。

传递给 codeql database initcodeql database begin-tracing 时,选项将仅应用于间接跟踪环境。 如果工作流还调用 codeql database trace-command,则还需根据需要传递选项。

有关 CodeQL 提取程序选项的详细信息,包括如何列出每个提取程序声明的选项,请参阅 https://codeql.github.com/docs/codeql-cli/extractor-options

常用选项

-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 起可用。

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy