Klocwork 解析中に一時ファイルが消失するとエラーが発生します
ビルドの実行後に削除される一時的なソースファイルを作成するビルドシステムを使用している場合、解析結果でエラーが発生します。これらの一時的なソースファイルは Klocwork ビルドスペックでキャプチャされ、これらの一時ファイルが見つからない場合、解析結果にエラーが記録されます。
解析対象のソースによって直接的または間接的に使用される一時的に生成されるソースなど、すべての一時ファイルを無視するということではありません。これらのファイルのタイプについては、次の例を参照してください。例: 一時ソースファイルのキャッシュ。
以下は、build.log ファイルのエラーの例を示します。
1> executing: "/space/ta/programs/kw-server-10.4.0.2095/bin/kwcc" "-c" "--security" "--metrics" "--ignore-extension" "--lang" "en" "-o" ... 1> kwcc:Error: Cannot open file /space/ta/csr/conftest.c: No such file 1> kwcc - Klocwork C/C++ Compiler 10.4 (10.4.0 for ix86-pc-linux) 1> kwcc:Error: No files to process. 1> Use '--help' to view help information. 1> Error: command '"/space/ta/programs/kw-server-10.4.0.2095/bin/kwcc" "-c" "--security" "--metrics" "--ignore-extension" "--lang" ...
回避策: これらのエラーを排除するには、--ignore-files オプションを kwinject で使用してビルドスペックの作成段階で一時ファイルを除外します。
kwinject --ignore-files <temporary_file_name(s)> <build_command>
たとえば、'make' をビルドコマンドとして使用し、ビルドスペックで除外したい 'conftext.c' という一時ファイルがある場合、コマンドは次のようになります。
kwinject --ignore-files "conftest.c" make