如果日志不够详细,无法解决问题,则可以执行几个步骤来获取额外信息,并使日志更有用。
启用步骤调试日志
步骤调试日志增加了执行期间和执行之后的作业日志的详细程度。
若要启用步骤调试日志记录,请执行以下操作:
- 在包含工作流的存储库中,将以下机密或变量
ACTIONS_STEP_DEBUG``true设置为 。 如果同时设置了机密和变量,则机密的值优先于变量。 - 重新运行工作流或触发新运行。
设置机密或变量后,步骤日志中将显示更多的调试事件。 请参阅“使用工作流运行日志”。
你还可以使用 runner.debug 上下文,仅在启用调试日志时有条件地运行步骤。 请参阅“上下文参考”。
创建 CodeQL 调试工件
警告
CodeQL 调试工件包含由 CodeQL 分析的源代码副本,因此我们建议仅与获准访问该源代码的人员共享这些包。
您可以获取工件以帮助你调试 CodeQL。
调试项目将作为名称以 debug-artifacts 开头的项目上传到工作流运行中。 如果在 CodeQL 工作流运行过程中并发分析多种语言,则每种语言都有一个此类项目。 数据包含 CodeQL 日志、 CodeQL 数据库、提取的源代码文件和工作流生成的任何 SARIF 文件。 有关下载 CodeQL 构件的更多信息,请参阅 下载工作流程构件。
这些工件将帮助你使用 CodeQLcode scanning 调试问题。 如果你联系 GitHub 支持,他们可能会请求此数据。
为CodeQL默认设置创建CodeQL调试项目
可以通过启用步骤调试日志记录(请参阅启用步骤调试日志)并触发新的 CodeQL 分析来创建 CodeQL 调试工件,例如通过将新的提交推送到拉取请求分支。
如果已授予 CodeQL 对专用注册表的访问权限,则名称开头 proxy-log-file 的其他项目将可用。 其中包含由 CodeQL 默认设置用于对发往私有镜像仓库的请求进行身份验证的认证代理日志,也可用于排查私有镜像仓库配置问题。 若要了解详细信息,请参阅 授予安全功能访问专用注册表的权限。
为 CodeQL 高级设置创建 CodeQL 调试工件
可以通过多种不同的方式获取 CodeQL 高级设置的调试工件。
启用调试日志记录后重新运行作业
为 CodeQL 高级设置创建调试项目的最简单选项是重新运行启用了调试日志记录的作业。 有关重新运行 GitHub Actions 工作流和作业的详细信息,请参阅 重新运行工作流程和作业。
需要确保选择“启用调试日志记录”。**** 此选项将为运行启用运行器诊断日志记录和步骤调试日志记录。 然后你便可以下载 CodeQL 调试工件以进行进一步调查。 通过重新运行作业创建 CodeQL 调试项目时,无需修改工作流文件。
使用工作流标志
可以在工作流中使用标志创建 CodeQL 调试项目。 为此,你需要修改 CodeQL 分析工作流程 文件中的 init 步骤,并设置 debug: true。
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
debug: true
使用 GitHub Actions 步骤调试日志记录
如果启用 GitHub Actions 步骤调试日志记录, CodeQL 还将生成调试项目,并在工作流运行过程中上传它们。 有关说明,请参阅 “启用步骤调试日志记录”。