关于退出代码
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
发生严重内部错误。
这应被视为错误。CLI 通常会将简短的错误描述写入 stderr。如果您能够重现此错误,则使用 --logdir
并将日志文件发送到 GitHub 中的错误报告将非常有帮助。
其他
如果运行codeql
的 JVM 内部出现非常严重的问题,它可能会返回一个它自己选择的非零退出代码。这应该只在 CodeQL 安装存在严重问题或运行 CodeQL 进程的主机系统存在内存问题时才会发生。例如,Unix 系统可能会返回退出代码 137 以指示内核已终止 CodeQL 启动的进程。解决此问题的一种方法是修改 codeql database analyze
步骤的 –ram=
标志并重新运行工作流。