IncrediBuild 環境での Klocwork の実行
この記事では、Xoreax IncrediBuild によりビルドが分散された環境で Klocwork C/C++ 統合ビルド解析を実行する方法について説明します。
前提条件
IncrediBuild を Klocwork と統合する前に、Incredibuild ソフトウェアがフルインストールされていることと、Incredibuild と Klocwork の両方に有効なライセンスがあることを確認してください。
このほか、Klocwork における「Web API アクセス」権限も必要です。デフォルトでは、この権限は、プロジェクトルート管理者とプロジェクト管理者に割り当てられます。役割の詳細については、役割の設定を参照してください。
IncrediBuild を使用した build trace (ビルドトレース) ファイルの生成
IncrediBuild による加速化ビルドが実行されるたびに、有効な JSON build trace (ビルドトレース) ファイルが <incrediBuild-install-path>/temp フォルダーに生成されます。このファイルの名前は次の命名規則に従って付けられます。
IbCodeAnalysis_SolutionName_TimeStamp.json
フィールドSolutionName はソリューションの名前、TimeStamp はファイルが作成された時刻を定義する値です。
トレースファイルの形式については、build trace (ビルドトレース) ファイルの形式を参照してください。または、build specification (ビルドスペック) の生成方法の詳細については、kwinject を参照してください。
独自の build trace (ビルドトレース) ファイル名の指定
BuildConsole コマンドラインに /ca_fie=<file-path> を追加して独自のカスタムファイル名とパスを指定できます。たとえば、/ca_file="C:\MyFile.JSon" のようにします。
解析の分散
<server_install>\config\xgProfile.xml
この XGE プロファイルから間接的に統合ビルド解析ツール、kwbuildproject を実行します。必要に応じて、すべての kwbuildproject オプションを含めることができます。
xgConsole /profile="<server_install>\config\xgProfile.xml" /command="kwbuildproject -j<N> ..."
フィールド <N> は、統合ビルド解析に使用する並列スレッドの数です。この数は、使用する IncrediBuild エージェントの数と等しくする必要があります。
解析のトラブルシューティング
IncrediBuild 解析で問題がある場合には、次のステップを実行してみてください。
- [エージェント|全般] のページにある [エージェント設定] ダイアログで、ロギングレベルを [拡張] に設定し、[ローカルで実行されたタスクに詳細ログを作成] を有効にします。
- ビルドを実行します。
- IncrediBuild トレイのアイコンをダブルクリックしてから、[ビルドモニター] 画面の [ファイル] -> [モニターファイルに名前を付けて保存...] をクリックして実行監視進行状況ファイル (.ib_mon ファイル) を保存します。
- IncrediBuild カスタマーサポートに、画面の進行状況ファイルを必ず添付して問い合わせてください。
- ロギングレベルを [最小] に戻します。
カスタムステップまたはビルドツールの定義
デフォルトでは、IncrediBuild はカスタムステップまたは外部ビルドツールをビルドプロセスの一部と見なしません。その結果、生成されたどの build trace (ビルドトレース) ファイルにもこれらのツールに関する情報は記録されません。
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Profile FormatVersion="1"> <Tools> <Tool Filename="a" AllowIntercept="true" /> <Tool Filename="b" AllowIntercept="true" /> </Tools> </Profile>
.xml ファイルを IncrediBuild に指定するには:
Visual Studio の場合: 次の形式に従って xml ファイルに名前を付けます。
<solution_name>.ib_profile.xml
フィールドsolution_name は現在のソリューションの名前です。そのファイルをソリューションファイルと同じフォルダーに配置します。
コマンドラインを使用: BuildConsole コマンドラインに次のスイッチを追加します。
/profile=<profile.xml_file_path>
フィールド<profile.xml_file_path> は .xml ファイルの場所と名前です。
制限事項
- Klocwork では、IncrediBuild で分散された C/C++ プロジェクトのみがサポートされています。
- Klocwork は Visual Studio での解析の分散をサポートしていません。
- xgConsole ツールは、Klocwork 解析ツールからコンソールに表示される「進行状況 NN%」メッセージを抑制します。