您可用的日志和诊断信息取决于您在 code scanning 中使用的方法。 你可以使用警报列表中的“工具”下拉菜单,检查存储库的“安全性”选项卡中使用的 code scanning 类型。 若要访问此页面,请参阅 AUTOTITLE。
GitHub
上的日志
您可以使用 GitHub 上的 CodeQL 分析查看 code scanning 运行的分析和诊断信息。
- 在警报列表顶部的标题中显示最近分析的“分析”信息。 请参阅“AUTOTITLE”。
- GitHub Actions 工作流日志中将显示诊断信息,此类信息包含摘要指标和提取程序诊断。 若要访问这些日志,请参阅 AUTOTITLE。
摘要指标
摘要指标包括:
- 在创建和提取 CodeQL 数据库之前,代码库中的代码行(用作基线)
- 从代码中提取的 CodeQL 数据库中的代码行,包括外部库和自动生成的文件
- CodeQL 数据库中的代码行,不包括自动生成的文件和外部库
源代码提取诊断
提取器诊断仅涵盖分析期间看到的文件,指标包括:
- 成功分析的文件数量
- 在创建数据库过程中生成提取器错误的文件数量
- 在创建数据库过程中生成提取器警告的文件数量
通过启用调试日志记录,可以查看有关在创建数据库期间发生的 CodeQL 提取器错误和警告的更多详细信息。 请参阅“AUTOTITLE”。
专用包注册表的诊断信息
Code scanning 默认设置工作流包括 步骤。 查看工作流在默认配置下的运行时,你可以展开该步骤以查看相应的日志。 这包含有关哪些专用包注册表配置可供分析使用的信息。 此外,如果 code scanning 默认设置未成功使用专用包注册表,日志中会包含一些可能有助于故障排除的诊断信息。 查找以下消息:
-
为组织配置了至少一个专用注册表。 这包括 code scanning 默认设置不支持的专用注册表类型的配置。 有关支持的注册表类型的更多详细信息,请参阅 AUTOTITLE。
-
Credentials loaded for the following registries:- 如果下面没有配置列表,则表示找不到 code scanning 默认设置支持的专用注册表配置。
- 否则,将为每个成功加载的受支持配置显示一行。 例如,包含 的行表示已加载专用 NuGet 源配置。
- 日志中有关配置的信息可能与用户界面 (UI) 中为组织配置的内容不完全一致。 例如,日志可能显示已设置,即使 UI 中配置的是。
-
code scanning 默认设置用于向已配置的专用包注册表进行身份验证的身份验证代理已成功启动。
-
随后,可能会出现有关连接测试结果的消息,这些测试尝试通过身份验证代理访问已配置的专用包注册表。 这是一个尽最大努力的过程。 如果某些注册表的这些检查不成功,则不一定意味着相关配置不起作用。 但是,如果您发现 code scanning 的默认设置在分析期间无法成功访问私有注册表中的依赖项,那么这可能会提供一些信息以帮助解决问题。
如果 步骤的输出符合预期,但 code scanning 默认设置无法成功访问专用注册表中的依赖项,则可以获取其他故障排除信息。 请参阅“AUTOTITLE”。
有关将 code scanning 默认配置访问权限授予专用注册表的详细信息,请参阅 AUTOTITLE。
CodeQL CLI 的日志
如果您在 GitHub 外部使用 CodeQL CLI ,您将在数据库分析期间生成的输出中看到诊断信息。 SARIF 结果文件中也包含此信息。
VS Code
中的日志
进度和错误消息在 Visual Studio Code 工作区右下角显示为通知。 这些通知链接到“输出”窗口中更详细的日志和错误消息。
可以访问 CodeQL 扩展、语言服务器、查询服务器或测试的单独日志。 语言服务器日志包含 CodeQL 语言维护者的高级调试日志。 你只需要这些内容就可以在 bug 报告中提供详细信息。
若要访问这些日志,请参阅 AUTOTITLE。