kwinject で使用する環境変数

kwinject では、多数の環境変数を使用します。使用される環境変数の中には、インターセプトモジュールとフィルタープログラムの間の通信を必要とするものもあります。それ以外の場合、省略可能であり、ビルド内での Klocwork の統合をしやすくするために使用されています。

UNIX 環境変数

変数 説明
LD_PRELOAD LD_LIBRARY_PATH これらのシステムワイドの変数は、インターセプトモジュールの設定に使用されます。インストールディレクトリへのパスによって、kwinject は、LD_PRELOAD または LD_PRELOAD とLD_LIBRARY_PATH の両方を設定します。インストールパスに空白文字が含まれていない場合、kwinject は LD_PRELOAD をインターセプトライブラリ (libkwinject.so) へのフルパスとして定義します。インストールパスに空白文字が含まれている場合、LD_PRELOAD をフルパスとして定義することはできません。これは、ライブラリのリストが空白を区切り文字としているためです。インストールパスに空白文字が含まれている場合、kwinject は、LD_PRELOAD をライブラリの短い名前に定義し、LD_LIBRARY_PATH にライブラリパスを追加します。
KW_LD_PRELOAD KW_LD_LIBRARY_PATH これらの変数は、LD_PRELOAD および LD_LIBRARY_PATH とそれぞれ同じ値を持ちます。これらの変数を定義する唯一の目的は、ビルド統合をしやすくすることにあります。ビルドに LD_PRELOAD が必要なために使用されている場合、KW_LD_PRELOAD をチェックして Klocwork 対応ビルド中に LD_PRELOAD の値をリセットできます。これらの変数の kwinject への直接の影響はまったくありません。
KW_INJECT_SOCK インターセプトされたコマンドの送受信に使用するローカルソケットファイルの名前。
KW_NO_LD_LIBRARY_PATH この変数を使用すると、LD_LIBRARY_PATH の使用を許可しないビルドシステムで kwinject を動作させることができます。KW_NO_LD_LIBRARY_PATH が有効な場合は、libkwinject.so を、Klocwork の lib ディレクトリと lib64 ディレクトリからシステムの /usr/lib ディレクトリにコピーする必要があります (32 ビットと 64 ビットの両方のバージョン)。このステップはアップグレード後にもう一度実行する必要があり、lib ディレクトリへの実際のパスはシステムタイプによって異なることに注意してください。この変数をゼロ以外の任意の値に設定すると有効になり、'0' に設定すると無効になります。
KW_NOT_USE_CLANG_OVERRIDES この変数を使用し、Klocwork パーサーを MSVC CL コンパイラーのように動作させることができます。この結果、パーサーは Clang コンパイラのように動作しなくなります。以前のリリースからのアップグレード中であり、指摘の数に一貫性がない場合は、このオプション (KW_NOT_USE_CLANG_OVERRIDES=1) を有効にし、通常どおり分析を実行して指摘を解決できます。