跳至主要内容

代码扫描日志

您可以在 GitHub 上查看代码扫描分析期间生成的输出。

The log and diagnostic information available to you depends on the method you use for code scanning in your repository. You can check the type of code scanning you're using in the Security and quality tab of your repository, by using the Tool drop-down menu in the alert list. To access this page, see Assessing code scanning alerts for your repository.

GitHub 上的日志

您可以查看在 GitHub 上使用 CodeQL 分析运行的代码扫描的分析和诊断信息。

概要指标

概要指标包括

  • 代码库中的代码行数(用作基准),在创建和提取 CodeQL 数据库之前
  • 从代码提取到 CodeQL 数据库中的代码行数,包括外部库和自动生成的文件
  • CodeQL 数据库中的代码行数,不包括自动生成的文件和外部库

源代码提取诊断

提取器诊断仅覆盖分析期间看到的文件,指标包括

  • 成功分析的文件数
  • 在数据库创建期间产生提取器错误的文件数
  • 在数据库创建期间产生提取器警告的文件数

通过启用调试日志,您可以查看在数据库创建期间发生的 CodeQL 提取器错误和警告的更详细信息。参见 Logs are not detailed enough

私有包注册表的诊断信息

代码扫描默认设置工作流包含一个 Setup proxy for registries 步骤。当您查看默认设置的工作流运行时,可以展开此步骤以查看相应的日志。该日志包含有关分析可使用的私有包注册表配置的信息。此外,如果代码扫描默认设置未成功使用私有包注册表,日志中还包含一些诊断信息,可帮助排查问题。请查找以下信息

  • Using registries_credentials input. 已为组织配置至少一个私有注册表。这包括代码扫描默认设置不支持的私有注册表类型的配置。有关受支持的注册表类型的更多详细信息,请参阅 Giving security features access to private registries

  • 已加载以下注册表的凭据

    • 如果未出现配置列表,则未找到代码扫描默认设置支持的私有注册表配置。
    • 否则,将显示每个成功加载的受支持配置的一行。例如,包含 Type: nuget_feed; Host: undefined; Url: https://nuget.pkg.github.com/; Username: undefined; Password: true; Token: false 的行表示已加载私有 NuGet Feed 配置。
    • 日志中的配置信息可能与 UI 中为组织设置的内容不完全一致。例如,日志可能显示已设置 Password,即使 UI 中配置的是 Token
  • Proxy started on 127.0.0.1:49152 代码扫描默认设置用于对配置的私有包注册表进行身份验证的认证代理已成功启动。

  • 随后,可能会出现关于通过认证代理尝试连接已配置的私有包注册表的连接测试结果的消息。这是一个尽力而为的过程。如果某些注册表的检查未成功,并不一定表示相关配置无效。但是,如果您发现代码扫描默认设置在分析期间无法成功访问私有注册表中的依赖项,则这些信息可能有助于排查问题。

如果 Setup proxy for registries 步骤的输出符合预期,但代码扫描默认设置仍无法成功访问私有注册表中的依赖项,您可以获取更多排查信息。参见 Logs are not detailed enough

欲了解有关授予代码扫描默认设置访问私有注册表的更多信息,请参阅 Giving security features access to private registries

CodeQL CLI 的日志

如果您在 GitHub 之外使用 CodeQL CLI,在数据库分析期间生成的输出中会看到诊断信息。这些信息也包含在 SARIF 结果文件中。

VS Code 中的日志

进度和错误消息会以通知形式显示在 Visual Studio Code 工作区右下角。这些通知链接到 “Output” 窗口中更详细的日志和错误信息。

您可以访问 CodeQL 扩展、语言服务器、查询服务器或测试的独立日志。语言服务器日志包含供 CodeQL 语言维护者使用的更高级调试日志。通常仅在提交错误报告时需要这些日志。

要访问这些日志,请参阅 Accessing logs for CodeQL in Visual Studio Code

© . This site is unofficial and not affiliated with GitHub, Inc.