关于退出代码
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=
标志并重新运行工作流。