EN JP CN

Kwinject

Kwinject

kwinject コマンドで、C/C++ ビルドを監視し、build specification (ビルドスペック) を作成します。build specification (ビルドスペック) を使用して、C/C++ ソフトウェアシステムから Klocwork プロジェクトを解析できます。

kwinject は、そのデフォルトの挙動として、--update オプションを使用します。すなわち、同じ名前の build specification (ビルドスペック) が見つかると、そのファイルを上書きする代わりに、実行中の kwinject は再度 build specification (ビルドスペック) ファイルに付加します。

kwinject で使用する環境変数も参照してください。

使用方法

ビルド環境で build specification (ビルドスペック) を生成するには、以下のコマンドを実行します。

kwinject [option...] <build-command> [arg...]

既存の build specification (ビルドスペック) を上書きするには、以下のコマンドを実行します。

kwinject --overwrite [option...] <build-command> [arg...]

ビルド環境で build trace (ビルドトレース) を生成するには、以下のコマンドを実行します。

kwinject [option...] --trace-out <file> <build-command> [arg...]

build trace (ビルドトレース) を build specification (ビルドスペック) に変換するには

kwinject [option...] --trace-in <file>

ファイルから kwinject に渡すための変数を指定するには:

kwinject -f <variable_file> <build-command> [arg...]

完全な build specification (ビルドスペック) を生成するために、kwinject および (devenv、msbuild、または msdev など) プロジェクトパーサーを統合するには:

C/C++ 向け:

kwinject [option...] --enable-vcproj <build-command> [arg...]

C# 向け:

kwinject [option...] --enable-csproj <build-command> [arg...]

フィールド

  • [options] は、次の表に示した任意のオプションです
  • <variable_file> は、次の形式の追加変数のためのオプションファイルです。OPTION=VALUE
  • <build-command> は make などのビルドコマンドです。
  • [arg...] は、ビルドコマンドに必要な任意の引数です。
注: Visual Studio を使用する場合は、Visual Studio コマンドプロンプトから kwinject を実行することをお勧めします。Visual Studio ビルド環境設定をより正確にキャプチャするためです。

スクリプトでビルドを実行する場合

ビルドがシェルスクリプトによって実行される場合 (Cygwin や MKS Korn などのように)、次のように kwinject を実行する必要があります。

kwinject [options] sh <shell_script>

たとえば、次のようになります。

kwinject sh /usr/src/xerces-c-2.5.0-1.sh
注: Cygwin 環境で kwinject を実行する場合、kwinject のコマンド引数としてシンボリックリンクを指定することはできません。

ビルドがバッチスクリプトによって実行される場合、次のように kwinject を実行する必要があります。

kwinject [options] cmd /c <batch_script>

たとえば、次のようになります。

kwinject cmd /c "my build.bat"

オプション

名前短い名前説明
--help-hこのヘルプを表示します。
--version-vバージョンを表示します。
--cache-dir <directory> 指定されたキャッシュディレクトリを使用して、ソースファイル (デフォルト:現在の作業ディレクトリ) を保存します。
--cache-files <pattern>[,<pattern>...]-C指定されたパターンの 1 つに一致するソースファイルを保存します。ビルド時にこれらのファイルのいずれかが削除されていた場合は、それが復元されます。Klocwork 解析に含めることができるように、生成されたソースファイルを保存するのに有効です。一時ソースファイルのキャッシュを参照してください。
--config <file>-c<file> からフィルター構成を読み取ります。デフォルトは、<Klocwork_install>/config/kwfilter.conf です。kwfilter.conf およびコンパイラ設定ファイルの「プライベート」コピーを使用できるので、元のファイルを変更する必要はありません。C/C++ build specification (ビルドスペック) の作成 を参照してください。
--debug デバッグ情報を表示します。
--enable-csproj リモートホスト上の (ビルド分散統合に固有) ビルドにより呼び出される Visual Studio C# プロジェクトファイルを処理します。
--enable-vcproj リモートホスト上の (ビルド分散統合に固有) ビルドにより呼び出される Visual Studio C/C++ プロジェクトファイルを処理します。
-f <variable_file> 特定のファイルから変数を読み取ります。
--ignore-files <pattern>[,<pattern>...]-I指定されたパターンのいずれかに一致するソースファイルが無視されます。<pattern> には、* と ? のワイルドカードを含めることができます。たとえば、次のようになります。
--ignore-files conftest.*
configure スクリプトによって作成された一時ファイルが無視されるように指定します。
--no-config コンパイラマッピングファイル kwfilter.conf からフィルター構成を読み取りません。
--no-resolve シンボリックリンクを解決しません。--no-resolve オプションが指定されている場合は、コンパイラオプションのパスを解決しません。
注: このコマンドオプションは、UNIXのみでサポートされます。
--output <file>-obuild specification (ビルドスペック) を <file> に書き込みます。デフォルトでは、build specification (ビルドスペック) は現在の作業ディレクトリの kwinject.out に書き込まれます。このオプションは、--trace-out オプションと共に使用することはできません。

ヒント:build specification template (ビルドスペックテンプレート) を作成する場合、拡張子 .tpl を使用してファイルに名前を付ける必要があります。

--overwrite-w既存の build specification (ビルドスペック) を上書きします。

クリーンビルド (完全再ビルド) を実行するときは必ず正確な build specification (ビルドスペック) が生成されるように、--overwrite オプションを使用して kwinject を実行してください。

ビルドコマンドと共に kwinject を使用するのを忘れた場合、または部分的なビルドと共に --overwrite オプションを使用して kwinject を実行した場合、正確でない build specification (ビルドスペック) が生成されます。この場合は、--overwrite オプションを使用して kwinject を実行して、build specification (ビルドスペック) を再作成してください。
--prog <prog>[=<filter>][,<prog>[=<filter>]...]-Pコンパイラがデフォルトで検索したもの以外を使用する場合に、kwinject がプログラムをインターセプトするために使用するプログラム。

使用する適切なフィルターと共に、インターセプトするプログラムのカンマ区切りリストを指定します。既知のプログラムとそのフィルターのデフォルトのリストがコンパイラマッピングファイル kwfilter.confから取得されます。このオプションによって定義されたフィルターバインディングは、コンパイラフィルターファイルから読み取られたバインディングに優先します。関連情報については、不完全な kwinject build specification (ビルドスペック) のトラブルシューティングを参照してください。

--trace-in <file>-t<file> から build trace (ビルドトレース) を読み取ります。このオプションを使用する場合、指定された build trace (ビルドトレース) を優先してコマンドおよび引数が無視されます。外部プロセスは開始しません。代わりに、インターセプトされたコマンドおよび引数は、以前に保存された build trace (ビルドトレース) ファイルから読み取られます。このオプションは、--trace-out オプションまたは <build-command> 引数と共に使用することはできません。build trace (ビルドトレース) を使用した build specification (ビルドスペック) の問題のトラブルシューティングを参照してください。
--trace-out <file>-Tbuild trace (ビルドトレース) を <file> ファイル に保存します。このオプションは、以下のオプションのいずれかと共に使用することはできません。
  • --trace-in
  • --output
  • --update
--variable <variable>=<string>-V出力ファイルで見つかったすべての <string> を、<variable> の参照と置き換えます。このオプションを使用すると、build specification (ビルドスペック) ではなく、build specification template (ビルドスペックテンプレート) が作成されます。<variable> は、文字で始まり、英数字とアンダースコア文字を含む固有の文字列である必要があります。<string> はディレクトリパスです。
重要: このオプションを使用する場合は、必ず --output オプションも使用して、.tpl 拡張子を持つファイルを指定してください。方法の詳細については、デベロッパーへの build specification template (ビルドスペックテンプレート) の提供を参照してください。
--white-dir <directory> 入力ファイルを格納しているディレクトリを指定します。一時ディレクトリでもかまいません。