[英]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.