Skip to main content

代码扫描日志

可以在GitHub查看在code scanning分析期间生成的输出。

在本文中

可用的日志和诊断信息取决于你在存储库中使用的 code scanning 方法。 可以在存储库的** Security** 选项卡中,通过警报列表中的code scanning下拉菜单查看您正在使用的类型****。 若要访问此页面,请参阅 访问存储库的代码扫描警报

登录 GitHub

可以查看使用code scanning分析CodeQL进行运行的分析和诊断信息GitHub。

摘要指标

摘要指标包括:

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

源代码提取诊断

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

  • 成功分析的文件数量
  • 在创建数据库过程中生成提取器错误的文件数量
  • 在创建数据库过程中生成提取器警告的文件数量

可以通过启用调试日志记录来查看有关 CodeQL 数据库创建过程中发生的提取程序错误和警告的更多详细信息。 请参阅“日志不够详细”。

专用包注册表的诊断信息

          Code scanning 默认设置工作流包括一个步骤 `Setup proxy for registries` 。 查看工作流在默认配置下的运行时,你可以展开该步骤以查看相应的日志。 这包含有关哪些专用包注册表配置可供分析使用的信息。 此外,日志包含一些诊断信息,在默认情况下未成功使用 code scanning 专用包注册表时,可能有助于进行故障排除。 查找以下消息:

* Using registries_credentials input. 为组织配置了至少一个专用注册表。 这包括默认情况下不支持 code scanning 的专用注册表类型的配置。 有关支持的注册表类型的更多详细信息,请参阅 授予安全功能访问专用注册表的权限

  • Credentials loaded for the following registries:

    • 如果没有遵循配置列表,则找不到默认设置支持的 code scanning 专用注册表配置。
    • 否则,将为每个成功加载的受支持配置显示一行。 例如,包含 Type: nuget_feed; Host: undefined; Url: https://nuget.pkg.github.com/; Username: undefined; Password: true; Token: false 的行表示已加载专用 NuGet 源配置。
    • 日志中有关配置的信息可能与用户界面 (UI) 中为组织配置的内容不完全一致。 例如,日志可能显示已设置Password,即使 UI 中配置的是Token
  •         `Proxy started on 127.0.0.1:49152` 用于 code scanning 默认设置通过配置的私有包注册表进行身份验证的身份验证代理已成功启动。
    
  • 随后,可能会出现有关连接测试结果的消息,这些测试尝试通过身份验证代理访问已配置的专用包注册表。 这是一个尽最大努力的过程。 如果某些注册表的这些检查不成功,则不一定意味着相关配置不起作用。 但是,如果发现 code scanning 默认设置无法在分析期间成功访问专用注册表中的依赖项,则这可能会提供一些信息来帮助解决问题。

如果 Setup proxy for registries 步骤的输出符合预期,但 code scanning 的默认配置无法成功访问私有注册表中的依赖项,那么您可以获取更多故障排除信息。 请参阅“日志不够详细”。

有关为专用注册表提供 code scanning 默认设置访问权限的详细信息,请参阅 授予安全功能访问专用注册表的权限

          CodeQL CLI 的日志

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

登录 VS Code

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

可以访问 CodeQL 的扩展、语言服务器、查询服务器或测试的单独日志。 语言服务器日志包含语言 CodeQL 维护者的更高级调试日志。 你只需要这些内容就可以在 bug 报告中提供详细信息。

若要访问这些日志,请参阅 访问 CodeQL 在 Visual Studio Code 的日志