代码扫描疑难解答
使用代码扫描分析代码时,您可能需要排查意外问题。
错误:“此存储库必须启用高级安全才能使用代码扫描”
如果看到此错误,请确保已启用 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 文件将被排除。