java - HP Fortify 4.3 - 结果中的行号与代码不同步

标签 java fortify line-numbers

我的一位同事最近使用 HP Fortify 4.3 在他的计算机上安装了 HP Fortify 4.3,对代码库进行了扫描。

当我在 HP Fortify 4.3 安装中打开 .fpr 文件时,当我双击问题时,问题中的行号并不总是与代码窗口中的行匹配。

例如,如果在特定 Java 类的第 214 行报告问题,当我双击该问题以在代码窗口中查看它时,突出显示的第 214 行不包含报告的问题。它可能位于第 205 行。

并非每个源文件都会发生这种情况。

可能是什么原因?我假设 .fpr 文件包含已审核代码的快照。如果这是真的,那么当我在 Fortify 安装中打开文件时,为什么行号不同步?

提前致谢!

最佳答案

是的,.fpr 文件确实包含已审核代码的快照。但这并不是 Fortify 在显示代码时使用的首选。 (源代码已压缩,因此出于性能原因不使用[我认为])。如果您的计算机上有源代码的副本,并且该副本与您的同事扫描的代码位于同一位置,Fortify 将使用该副本。并且可能自扫描以来源代码已发生更改。

当 Fortify 去显示源代码并且在扫描的外部路径找不到代码时,它将显示一条消息:

The current source path is invalid, but the project contains a copy of the scanned source code. Would you like to extract the source code to a location on disk, or update the path to an existing location?

有三个选项:

  • 使用 FPR 中包含的源
  • 取消
  • 更新路径

如果您想要扫描的确切内容,请选择第一个选项

如果您希望 Fortify 指向系统上源代码的位置,请使用第三个选项。

如果您希望它使用内部源,请执行以下操作

  1. 打开 FPR
  2. 执行工具 -> 提取源代码
  3. 选择地点

当您执行此操作时,Fortify 将自动开始使用该位置来提取源代码以供显示。

关于java - HP Fortify 4.3 - 结果中的行号与代码不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36219974/

相关文章:

java - 3 个集合的笛卡尔积

fortify - 将 Fortify 与 MSBuild 结合使用时如何排除文件和文件夹

java - 无法解决 Log Forging Fortify 问题

java - 如何使用 javaassist 或任何其他 api 获取所有方法的正确行号?

visual-studio - 设置 Visual Studio 2005 以打印行号

java - 如何获得有关我的应用程序中发生的异常的更多详细信息?

java - BodyEditorLoader - noSuchMethod

java - 您能否分析一下有关继承的 JAVA 代码的输出

java - Spring Application Context - 主文件夹和测试文件夹

maven - 如何从 fortify sca jenkins 构建中排除文件夹?