2017-09-13 97 views
0

私はParasoft C/C++テストを静的テストの "コーディング標準"を制御するために使用しようとしています。 Parasoftのユーザーガイドの "Makefileプロジェクトでbdfを作成する方法"しか見つかりませんでした。Parasoftでビルドデータファイル(bdf)を作成するには?

プロジェクトごとにbdfを作成するにはどうすればよいですか? makefileプロジェクトを必須としていますか?

答えて

1

parasoftは評判の高いトピックではありません。 回答は金の価値があります。私はcpptesttraceを見つけることができませんでした。 cpptestとcpptestscanがあります。彼らはできますか?私はparasoftの古いバージョンを使用しています。

あなたは正しいです。 'cpptesttrace'はParasoft C++テストバージョン9.4(2012年中頃)に追加されているので、バージョン9.2以前を使用している可能性があります。この場合、 'cpptestscan'のみが存在します。

ところで、ここではC++のテストスタンドアロンのインストール(ないのVisual Studioプラグイン)内部のプログラムを簡単に説明がある:

  • cpptest - 上の通常のインタラクティブな作業のためのC++のテストGUIを(Eclipseベース)を開始デスクトップ
  • cpptestcli - 静的解析を自動化するために使用されるC++テストコマンドラインドライバ。 1つのコンパイル情報をキャプチャし、
  • cpptesttraceファイルBDFに追加するには、コマンドラインをコンパイラに接頭辞として使用 - - (パラソフトC++テスト9.4以降)接頭辞として使用ジェンキンスジョブ、
  • cpptestscanとして実行されていますcpptestscanは、各コンパイルコマンドラインの前に付加されなければならなかった

    • :ファイル

    を、コマンドラインを構築するために、すべてのコンパイルコマンドを捕捉し、BDFに保存cpptestscanとcpptesttraceの主な違いは、ということです。これは、cpptestscanが単一のコンパイルのみをキャプチャし、一度に1つをBDFに保存できることを意味します。これは、典型的には、make CCまたはCXX変数を上書きすることによって行われた(例えば、 "cpptestscan g ++ -c foo.c -o foo.o"のようなコンパイラを指定する)。

  • cpptestraceはビルドコマンド全体に1回追加され、ビルドコマンドによって呼び出された子プロセスを追跡します。コンパイラ呼び出しとして認識されたすべてのプロセスのレコードは、BDFに格納されていました。

makefileやビルドスクリプトがコマンドラインでコンパイラを上書きできるほど柔軟であれば、cpptestscanは問題ありませんでした。

make CXX="cpptestscan g++" CC="cpptestscan gcc" 

通常、メイクベースのプロジェクトでは可能です。カスタムビルドスクリプトまたは自動生成ビルドスクリプトでは、すべてのベットがオフになっています。しばしば、唯一の選択肢は、人々が通常気にするプロジェクト構築スクリプトを変更することでした。 このような場合、cpptesttraceは完全に非侵入型であり、ほぼすべてのビルドプロセスからビルド情報を取得できるため、役に立ちます。あなたは複数のプロジェクトがある場合

、この記事の元の質問に戻って:cpptestscanを使用して

  • を、あなたはBDF
  • 対応を作成するには、各プロジェクトのビルドスクリプトでcpptestscanで何とかプレフィックスコンパイラする必要があります
  • cpptesttraceを使用すると、プロジェクトごとにbuildを実行して、各プロジェクトのbuildコマンドの前にcpptesttraceを追加して、対応するBDFを作成することができます。 後者はしばしば簡単ですが、最新のC++テストが必要です(最新バージョンは10.3)。

私は役に立つと思います。 BTW:C++テストをアップグレードできるかどうかParasoftに確認してください。

+0

ありがとうございました。これらの説明は私を啓発した。 – Alperen

+0

私はParasoftを使うプロジェクトが2つあります。あなたの答えは両方のためにとても役に立ちます。 1つは完全に動作しますが、もう1つは問題があります。まだ失敗し、一部のファイルで解析エラーが発生します。私はそれらのファイルを調べたところ、共通のヘッダーがすべて含まれていることがわかりましたが、Parasoft IDEでは「未解決のインクルード」エラーが表示されます。このプロジェクトは、独自のIDEで適切に構築されます。そして、このビルドプロセスで作成されたbdfファイルを使用しました。この共通のヘッダーファイルはインクルードディレクトリにあるため、ビルドプロセスは独自のIDEで正常に動作します。なぜそれは働かないのですか? – Alperen

+0

また、関連するインクルードディレクトリがbdfファイルに表示されています。また、このヘッダーファイルにはCファイルがありません。単純な定義で構成されているからです。その名前が "asd.h"であるとすると、bdfファイルには "asd.o"という単語はありません。 – Alperen

0

メイクファイルの使用は必須ではありません。 Parasoft C++テストには、「cpptesttrace」というツールがあり、ビルドプロセスを監視し、コンパイラの呼び出しを収集してBDFファイルを作成します。
cpptesttraceは、make、シェルスクリプト、またはIDEでのビルド(任意のビルドプロセスで使用できます(コマンドラインビルドが利用できない場合は最後の手段です)。あなたは単に「cpptesttrace」と、おそらくカップルのオプションを使用して、元のビルドコマンドラインの前に付ける必要がある

  • 、および通常のビルドを実行
  • 再構築フル実行するようにしてください(例:どのようにcpptesttrace作品

    'make clean all')を使用して、ビルドに属するすべてのソースに関する情報とコンパイル方法を確認してください。

  • cpptesttraceにはサポートされているコンパイラの組が組み込まれており、 'cpptesttrace --cpptesttraceHelp '。あなたのGNU GCCコンパイラ名が "普通でない"場合、cpptesttraceが探しているパターンを再定義することができます。トラブルの場合は
  • 、あなたは常に

例1は、パラソフトのサポートに連絡することができます:

私はメイクファイルの例を:)与えるが、それはsconsの、ジャム、またはPythonスクリプトかもしれません、または.BAT: 想定し、私のフルビルドが次のように行われます:0:

make clean all 

私はcpptesttraceを使用して、次のようにビルドを実行することができますcpptesttrace make clean all これはビルド全体を監視し、実行からBDFファイルを作成します。

例2:

ビルドスクリプトとマルチレベル・プロセスであるか、道に沿ってフォルダを変更させる場合は、BDFのための絶対的な場所をcpptesttrace伝えるために良いかもしれません。上記の例を拡張し、我々は実行することができます:BDFパスは、ソースツリーのレベルcpptesttraceが呼び出されるに関係なく絶対的であることを確認します

cpptesttrace --cpptesttraceOutputFile=`pwd`/cpptest.bdf make clean all 

を。

+0

あなたの答えをありがとう、parasoftは評判の高いトピックではありません。答えは金の価値がある。私はcpptesttraceを見つけることができませんでした。 cpptestとcpptestscanがあります。彼らはできますか?私はparasoftの古いバージョンを使用しています。 – Alperen

関連する問題