linux - Souranalyzer,强化给出错误无法识别或无效的命令行参数 '-o'

标签 linux gcc fortify

我正在 linux 上以强化模式运行构建。以下命令在构建中运行

/usr/local/packages/fortify_360/bin/sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify -jdk 1.5 -c /ade/ka_View_12.2/xa/bin/orscript -o /ade/ka/xa/dbsa/bin/avorclcoll -m64 -z noexecstack -Wl,--disable-new-dtags -L/ade/ka/xa/dbsa/lib/ -L/ade/ka/xa/lib/ -L/ade/ka/xa/lib/stubs/ /ade/ka/oracle/dbsa/lib/zaorclmain.o     -lclntsh -lclntshcore -lclient12 -lavclient12 -lnnz12 -lmql1 -lipc1 -ldl -lm -lpthread -lnsl -lrt -lc   -Wl,-R

当我运行它时出现错误 Unrecognized or invalid command line argument '-o'

但是如果我用 gcc 替换脚本 /ade/ka_View_12.2/xa/bin/orscript,它就可以正常工作。
我的脚本 /ade/ka_View_12.2/xa/bin/orscript 有以下代码,在这段代码中我只有一个变量 CC = gcc 和参数“$@”

#!/bin/sh
#
# $Header: buildtools/port/orald /linuxamd64/3 2012/10/02 19:28:56 ekarichk 
#
# orscript
#
CC=gcc
#
# Just use CC for now
#
exec ${CC} "$@"
exit 1

请帮忙,我已经为这个错误苦苦挣扎了很长时间:(

最佳答案

通过运行检查 C/C++ 构建的帮助:

sourceanalyzer -h

您将看到有多种方法可以对 C/C++ 代码运行扫描。一种是直接调用编译器,对应你例子中的成功案例。如果您想使用构建脚本,例如 make(或您的“orscript”),那么您应该使用 touchless 参数,例如:

sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify touchless /ade/ka_View_12.2/xa/bin/orscript {args}

注意:您也不需要指定 -jdk 参数,因为您不是在分析 Java 代码。

关于linux - Souranalyzer,强化给出错误无法识别或无效的命令行参数 '-o',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36305594/

相关文章:

password-encryption - 如何解决密码管理-配置密码

linux - 在 Perl 中使用 expect 和 system()

c - 应用程序未收到 iptable 修改的 Netlink 通知

c - gcc : ‘asm’ operand has impossible constraints 中的扩展 asm

c - 用于编译的 GCC 链接库

c++ - 如果链接时启用 "-ffast-math"会发生什么?

security - 强化 SSC "attack surface"选项

linux - 比较文件夹中的所有文件

linux 使用未知内存(不是 Slab)

java - 强化高 : Access specifier manipulation on reflection that is used to invoke a private constructor