跳至主要内容

代码扫描疑难解答

使用代码扫描分析代码时,您可能需要排查意外问题。

错误:“此存储库必须启用高级安全才能使用代码扫描”

如果看到此错误,请确保已启用 GitHub 高级安全。

在生成的代码中发现的警报

使用代码扫描分析代码时,您可能希望仅构建要分析的代码。

代码扫描分析时间过长

您可以微调代码扫描配置以最大程度地减少分析时间。

已编译语言的自动构建失败

如果自动构建失败,您可以配置代码扫描以对已编译语言使用特定构建步骤。

C# 编译器意外失败

如果您的 MSBuild C# 编译意外失败,您可能需要修改应用程序项目文件。

无法在私有仓库中启用 CodeQL

必须启用 GitHub 高级安全才能在私有存储库上使用代码扫描。

启用默认设置时间过长

如果您认为启用默认设置已停滞,则可以重新启动该过程。

数据库提取错误

您可以检查提取错误是否会影响创建的 CodeQL 数据库的运行状况。

CodeQL 扫描的行数少于预期

如果 CodeQL 分析的代码少于预期,您可能需要使用自定义构建命令。

日志不够详细

如果您想提高日志的详细程度,请尝试以下步骤。

错误:“在构建过程中未看到任何源代码”

当 CodeQL 无法找到任何源代码时,您需要解决此问题以解除代码扫描分析的阻塞。

错误:“不是 .ql 文件、.qls 文件、目录或查询包规范”

CodeQL 无法找到为分析指定的查询或查询集之一。

错误:“磁盘空间不足”或错误:“内存不足”

如果在 GitHub Actions 中看到其中一个错误,则可以尝试其他运行器。

错误:403“集成无法访问资源”

此错误可能会在 Dependabot 创建的拉取请求中看到,可以通过几种不同的方法解决。

结果与预期不同

如果代码扫描结果与预期不同,您可以检查哪些配置处于活动状态。

错误:“服务器错误”

如果看到此错误,它可能是暂时的。检查当前 GitHub Actions 服务状态,然后尝试再次运行工作流。

某些语言未通过 CodeQL 高级设置进行分析

如果某些语言未被分析,您可以修改代码扫描工作流以添加一个矩阵,指定您要分析的语言。

两个 CodeQL 工作流

如果看到两个名为“CodeQL”的工作流,则其中一个工作流可能是已由默认设置禁用的预先存在 CodeQL 工作流文件。

不清楚是什么触发了工作流运行

如果您不知道是什么触发了分析,请调查工具状态页面或查看上次扫描的日志。

警告:“在此工作流中检测到 1 个问题:git checkout HEAD^2 不再需要”

如果看到此警告,您应该更新工作流以遵循当前最佳实践。

警告:在您的项目中检测到 X 个 Kotlin 文件,这些文件在没有构建的情况下无法处理

可以为 Java 创建 CodeQL 数据库而无需构建代码,但除非构建代码,否则 Kotlin 文件将被排除。