Skip to main content

退出代码

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

谁可以使用此功能?

GitHub CodeQL 在安装后按用户授权。 根据许可证限制,只能将 CodeQL 用于某些任务。 有关详细信息,请参阅“关于 CodeQL CLI”。

如果你有 GitHub Advanced Security 许可证,则可以使用 CodeQL 进行自动分析、持续集成和持续交付。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

关于退出代码

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

0

成功,正常终止。

1

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

此退出代码仅由几个命令使用,例如“test run”、“dataset check”、“query format”和“resolve extractor”。 有关更多详细信息,请参阅这些命令对应的文档。

2

出现错误。

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

3

启动程序找不到 CodeQL 安装目录。

在这种情况下,启动程序根本无法启动 CodeQL CLI 的 Java 代码。 仅当 CodeQL 安装出现严重错误时,才会发生这种情况。

32

提取程序在运行“database create”或“database finalize”时找不到任何要分析的代码。

33

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

某些并行计算的查询可能没有超时。会照常生成这些查询的结果。

98

已显式取消评估。

99

CodeQL CLI 内存不足。

这不一定意味着已使用计算机的所有物理 RAM。 如果不使用 --ram 选项显式设置限制,JVM 将在启动时确定默认限制。

100

发生严重内部错误。

这应被视为 bug。 CLI 通常会将简短的错误说明写入 stderr。 如果可重现 bug,那么使用 --logdir 并将日志文件发送到 bug 报告中的 GitHub 将很有帮助。

其他

在运行 codeql的 JVM 中出现非常严重的问题时,它可能会返回自己选择的非零退出代码。 仅当 CodeQL 安装出现严重错误,或者运行 CodeQL 进程的主机系统存在内存问题时,才会发生这种情况。 例如,Unix 系统可能会返回退出代码 137,指示内核已终止 CodeQL 启动的进程。 要解决此问题,一种方法是修改 codeql database analyze 步骤的 –ram= 标志并重新运行工作流。