Skip to main content

代码扫描疑难解答

使用 code scanning 分析代码时,可能需要排查意外问题。

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

如果看到此错误,请确保 GitHub Advanced Security 已启用。

在生成的代码中找到的警报

使用 code scanning 分析代码时,你可能希望仅生成要分析的代码。

代码扫描分析耗时过长

可以微调 code scanning 配置,以最大程度地减少分析时间。

编译的语言的自动生成失败

如果自动生成失败,可以将 code scanning 配置为使用编译的语言的特定生成步骤。

无法在专用存储库中启用 CodeQL

若要在专用存储库中使用 code scanning,必须启用 GitHub Advanced Security。

启用默认设置耗时过长

如果认为启用默认设置耗时过长,可以重启该过程。

数据库中的提取错误

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

CodeQL 扫描的行数少于预期

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

日志不够详细

如果要提高日志中的详细信息级别,请尝试执行以下步骤。

错误:“生成期间未看到任何源代码”

当 CodeQL 找不到任何源代码时,需要解决此问题以取消阻止 code scanning 分析。

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

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

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

如果系统针对 GitHub Actions 显示其中某一错误,你可以尝试使用替代运行器。

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

此错误可能在 Dependabot 创建的拉取请求上出现,可以通过几种不同的方式解决。

结果与预期不同

如果 code scanning 结果与预期不同,可以检查哪些配置处于活动状态。

错误:“服务器错误”

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

某些语言未使用 CodeQL 高级设置进行分析

如果某些语言未分析,则可以修改 code scanning 工作流,以添加指定要分析的语言的矩阵。

两个 CodeQL 工作流

如果看到两个名为“CodeQL”的工作流,那么其中一个工作流可能是预先存在的 CodeQL 工作流文件(在默认设置下被禁用)。

不确定是什么触发了工作流运行

如果不知道是什么触发了分析,查看上次扫描的日志。

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

如果看到此警告,应更新工作流以遵循当前的最佳做法。