繁体   English   中英

修改源代码后不了解如何从AWB进行扫描

[英]Not understanding how to scan from AWB after modifing source code

我的项目是相当小的C项目。 从命令行运行sourceanalyzer大约需要3分钟,以完成翻译和扫描。

该文档说,如果.fpr是从命令行生成的,而我需要从AWB重新扫描,则“ 更新项目转换”按钮将显示为灰色(是)。 但是,如果我修改了源代码,文档说明我必须先更新翻译,然后才能重新扫描代码,这意味着我必须再次从命令行运行sourceanalyzer (因为该选项在AWB中为灰色)。但是,使用sourceanalyzer会重写.fpr,这意味着我将丢失在AWB中创建的所有审核和自定义过滤器。

问题1:是否可以从命令行运行sourceanalyzer进行翻译和扫描,而不会丢失在AWB中创建的审核工作和自定义过滤器?

下一步的逻辑步骤似乎是从AWB创建.fpr。 但是,如果我尝试使用AWB通过Advanced Scan ...启动一个新项目,则需要一个多小时才能完成“ 生成中间文件-JtsWrapper.java”步骤。 完成后,结果将显示0个问题。

问题2:如何使用AWB在不使用Java的C项目上启动新项目? 当我选择Start New Project-> Advanced Scan时 ,它将要求提供Java版本。 这是否意味着它认为我的项目是Java项目?

这就是我使用sourceanalyzer的方式

sourceanalyzer -clean

sourceanalyzer -64 -b myproj \
           -build-label myproj \
           -build-project myproj \
           -build-version 1.0.0 \
            touchless make -j6 -k 

sourceanalyzer -64 -b myproj \
             -build-label myproj \
             -build-project myproj \
             -build-version 1.0.0 \
             -scan \
             -f myproj.fpr

问题1)

创建新扫描时,有两个选项可保留您以前/现有的注释,审核和过滤器。

a)如果您第二次扫描,并且-f指向具有修改的现有.fpr文件, sourceanalyzer将自动将新结果合并到该.fpr中。

b)有一个命令行实用程序将两个文件合并在一起:

fprutility -merge -project <old.fpr> -source <new.fpr> -f <merged.fpr>

当您说“下一步似乎是从AWB创建.fpr”时。 我不同意。 能够在命令行上进行扫描,使该过程可重复且可自动化。 AWB和IDE插件都是sourceanalyzer.exe的前端。

问题2)

我不确定您使用的是哪个Fortify SCA版本,但是当我将高级扫描指向c ++示例项目( <HPE Fortify Install Dir>/Samples/Basic/cpp )时,我没有被问及Java版本(我是使用版本16.10)。

有关命令行参数的几件事情:

  • -64现在自动适用于多个版本(不确定何时进行切换)
  • -build-label myproj是可选的
  • -build-project myproj是可选的
  • -build-version 1.0.0是可选的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM