# 退出代码

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

## 关于退出代码

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

## 0

成功，正常终止。

## 1

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

此退出代码仅被少数命令使用，例如 [测试运行](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/test-run)、[数据集检查](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/dataset-check)、[查询格式](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/query-format) 和 [求解提取器](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/resolve-extractor)。
有关更多详细信息，请参阅这些命令对应的文档。

## 2

出现错误。

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

## 3

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

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

## 32

运行 [数据库创建](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/database-create) 或 [数据库完成](/zh/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/database-finalize) 时，提取程序未找到任何可分析的代码。

## 33

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

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

## 98

已显式取消评估。

## 99

CodeQL CLI 内存不足。

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

## 100

发生严重内部错误。

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

## Other

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