Kwshell

kwshell コマンドで、C/C++ ビルドを監視し、kwcheck 用または Klocwork Desktop for C/C++ 用の build specification (ビルドスペック) を生成します。kwshell は Klocwork コマンドラインツールとともにインストールされます。

使用方法

kwshell [option...][<command>] [arg...]

フィールド<command> にはシェルプログラム以外に任意のシェルオプションも指定することができます。デフォルト値はデフォルトのシェルです (COMSPEC 環境変数の値)。

kwshell --project-dir /users/jlee/klocwork_projects/wincvs/.kwlp

前提条件

  • ビルドシステム (make や jam など) は、動的にリンクする必要があります。ビルドシステムが動的にリンクされていることを確認するには、ビルドメカニズムでコマンド ldd を使用します。
  • プロジェクトを Klocwork Desktop または kwcheck create であらかじめ作成しておく必要があります。

説明

ローカルプロジェクトディレクトリ (デフォルトでは .kwlp) が含まれているディレクトリから kwshell を開始するか、-pd オプションを使用してローカルプロジェクトディレクトリを指定します。

ローカルプロジェクト上で kwshell を実行すると、[kw] プロンプトが表示されます。このプロンプトを表示しないようにするには、-N オプションを使用します。Unix bash シェルを非対話型モードで使用するか、--login または --rcfile オプションを付けて使用する場合は、[kw] プロンプトは表示されません。

Notes

  • kwshell は、分散ビルド環境では機能しません (Klocwork の分散解析、IncrediBuild、Electric Cloud など)。
  • <command> 引数とともに --shell オプションを使用することはできません。

オプション

名前 短い名前 説明
--exclude-prog <pattern> [<pattern>...]   指定パターンのいずれかに一致するプログラムを除外します。
--help -h このヘルプを表示します。
--ignore-files <pattern> [<pattern>...] -I (UNIX のみ) 指定されたパターンのいずれかに一致するソースファイルが無視されます。<pattern> には、* と ? のワイルドカードを含めることができます。たとえば、--ignore-files conftest.* は、configure スクリプトによって作成された一時ファイルが無視されるように指定します。
-N   Klocwork シェルプロンプトが表示されないようにします。
--no-resolve  

シンボリックリンクを解決しません。--no-resolve オプションが指定されている場合は、コンパイラオプションのパスを解決しません。

このコマンドオプションは、Unix のみでサポートされます。
--project-dir <dir> -pd ローカルプロジェクトディレクトリが、デフォルトディレクトリ (.kwlp) と異なる場合はそれを指定し、ソースツリー外にある場合はその場所を指定します。
--restrict-dir <dir> -r 指定ディレクトリ外にあるソースファイルは無視します。
--shell <environment_variable> -s Unix 上では、起動する (デフォルト以外の) シェルプログラム (Bash や Korn (ksh))、Windows 上では、cmd.exe または Visual Studio のコマンドプロンプトを指定します。
--verbose   プログラム実行についての詳細情報を表示します。これは、エラーのトラブルシューティングに役立ちます
--version -v バージョンを表示します。

カスタムコンパイラを処理するためのオプション

標準でない名の付けられたコンパイラを使用している場合、次のオプションを使用してください。詳細については、不完全な kwinject build specification (ビルドスペック) のトラブルシューティングを参照してください。

名前 短い名前 説明
--config <file> -c <file> からフィルター設定を読み取ります。kwfilter.conf の「プライベート」コピーを使用して、カスタムコンパイラ情報を指定できるようにします。
--prog <prog>[=<filter>][,<prog>[=<filter]...] -P 非標準コンパイラの情報を「オンザフライ」で kwinject に渡すために使用されます。使用する適切なフィルターと共に、インターセプトするプログラムのカンマ区切りリストを指定します。