如果日志不够详细,无法解决问题,则可以执行几个步骤来获取额外信息,并使日志更有用。
启用步骤调试日志
步骤调试日志增加了执行期间和执行之后的作业日志的详细程度。
若要启用步骤调试日志记录,请执行以下操作:
- 在包含工作流的存储库中,将以下机密或变量
ACTIONS_STEP_DEBUG``true设置为 。 如果同时设置了机密和变量,则机密的值优先于变量。 - 重新运行工作流或触发新运行。
设置机密或变量后,步骤日志中将显示更多的调试事件。 请参阅“使用工作流运行日志”。
你还可以使用 runner.debug 上下文,仅在启用调试日志时有条件地运行步骤。 请参阅“上下文参考”。
创建 CodeQL 调试工件
警告
CodeQL 调试工件包含 CodeQL 正在分析的源代码的副本,因此建议仅与有权访问该源代码的人员共享这些捆绑包。
可以获取生成工件来帮助你调试 CodeQL。
调试项目将作为名称以 debug-artifacts 开头的项目上传到工作流运行中。 如果 CodeQL 在工作流运行过程中同时分析多种语言,则每种语言都会有一个这样的项目。 数据包含 CodeQL 日志、CodeQL 数据库、提取的源代码文件以及由工作流生成的任何 SARIF 文件。 有关下载 CodeQL 项目的详细信息,请参阅 下载工作流程构件。
这些生成工件将帮助你调试 CodeQL code scanning 的问题。 如果您联系 GitHub 支持,他们可能会请求此数据。
为 CodeQL 默认设置创建 CodeQL 调试项目
可以通过启用步骤调试日志记录(参见启用步骤调试日志记录)并触发新的 CodeQL 分析(例如向拉取请求分支推送新的提交)来创建 CodeQL 调试构件。
如果你已向 CodeQL 授予访问私有注册表的权限,则其名称以 proxy-log-file 开头的其他项目将可用。 这些文件包含了 CodeQL 默认设置中用于对专用注册表的请求进行身份验证的身份验证代理的日志信息,可用于排查专用注册表配置问题。 若要了解详细信息,请参阅 授予安全功能访问专用注册表的权限。
为 CodeQL 高级设置创建 CodeQL 调试项目
可以通过多种途径获取 CodeQL 高级设置的调试项目。
启用调试日志记录后重新运行作业
为 数据变量.product.prodname_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 也会生成调试构件,并将其作为工作流运行的一部分上传。 有关说明,请参阅 “启用步骤调试日志记录”。