跳至主要内容

退出代码

退出代码表示 CodeQL CLI 运行命令后该命令的状态。

谁可以使用此功能?

CodeQL 可用于以下仓库类型

本文内容

关于退出代码

CodeQL CLI 将它运行的每个命令的状态报告为退出代码。该退出代码为后续命令或依赖 CodeQL CLI 的其他工具提供信息。

0

成功,正常结束。

1

该命令成功确定您问题的答案为“否”。

此退出代码仅被少数命令使用,例如 test rundataset checkquery formatresolve extractor。欲了解更多细节,请参阅这些命令的文档。

2

出现错误。

CLI 会将可读的错误信息写入 stderr。这包括提取器因内部错误而失败的情况,因为 codeql 驱动无法区分提取器行为中的内部错误和面向用户的错误。

3

启动器无法找到 CodeQL 安装目录。

在这种情况下,启动器根本无法启动 CodeQL CLI 的 Java 代码。这仅会在 CodeQL 安装出现严重问题时发生。

32

在运行 database createdatabase finalize 时,提取器未找到任何可分析的代码。

33

一个或多个查询评估超时。

有可能一些并行评估的查询没有超时。这些查询的结果会照常生成。

98

评估被明确取消。

99

CodeQL CLI 内存耗尽。

这并不一定意味着机器的全部物理内存已被使用。如果未使用 --ram 选项显式设定限制,JVM 会在启动时决定默认限制。

100

发生致命的内部错误。

这应被视为一个缺陷。CLI 通常会将简要的错误描述写入 stderr。如果您能够复现该缺陷,使用 --logdir 并在提交 bug 报告时将日志文件发送至 GitHub 将有助于诊断。

其他

如果在运行 codeql 的 JVM 中出现极其严重的问题,它可能会返回自行选择的非零退出代码。这仅会在 CodeQL 安装出现严重故障,或运行 CodeQL 进程的主机系统出现内存问题时发生。例如,Unix 系统可能返回退出代码 137,表示内核已杀死 CodeQL 启动的进程。解决此问题的一种方法是修改您的 –ram= 标志用于 codeql database analyze 步骤,然后重新运行工作流。

© . This site is unofficial and not affiliated with GitHub, Inc.