制限事項

このセクションには、このリリースと以前のリリースで追加された制限の両方が含まれます。

インストール、アップグレード、および展開に関する制限事項

2024.2 で作成された無期限のアプリケーショントークンは、実際には 30 日後に期限切れになります。

軽微なバグのため、2024.2 で有効期限なしで作成されたアプリケーショントークンは実際には 30 日後に期限切れになっていました。30 日後に無期限のトークンを使用して認証を実行しようとすると、認証が失敗します。この指摘は Validate 2024.3 で修正されています。

回避策:

  • カスタムの有効期限 (Perforce は 2 年を推奨) を指定してアプリケーショントークンを作成します。
  • Validate 2024.3 以降にアップグレードします (利用可能な場合)。その後、新しいアプリケーショントークンを作成し、[有効期限] フィールドを [なし] に設定します。

SAML または OIDC 認証を使用するときに、kwauthconfig が資格情報を要求する指摘

Validate サーバーを SAML または OIDC 認証を使用するように構成している場合、kwauthconfig を使用してデータベースパスワードを設定またはリセットしようとすると、サーバーに接続するときにユーザー名とパスワードの資格情報の入力が誤って求められます。

回避策: kwauth --url <Validate server>:<port> を実行して、Validate サーバーで認証します。認証が成功したら、kwauthconfig を再起動します。資格情報の入力は求められません。

2024.2 以前の Klocwork ツールとプラグインを使用している場合、SAML または OIDC を認証できません

SAML または OIDC 対応サーバーで Klocwork ツールまたはプラグインバージョン 2024.1 以前を使用する場合は、リリース 2024.2 以降の kwauth ツールを使って認証する必要があります。

また、古いツールがサーバーで認証できるようにするには、認証中に --insecure フラグを使用する必要があります。このフラグを使用すると、ユーザーは自分の資格情報を安全でない方法で ltoken に保存できるため、必要な場合にのみ使用する必要があります。

kwconfigeditor は未使用の重大度 0 を表示します

これは予想されることであり、QAC プロジェクトでの重大度 0 の使用に関連しています。重大度 0 を使用する Klocwork プロジェクトはないため、これは無視できます。

Klocwork と QAC の混合プロジェクトでは、最後にアップロードされたプロジェクトに基づいて重大度レベルが表示されます。

混合プロジェクトは技術的にサポートされていません。Klocwork と QAC の両方の結果を同じプロジェクトにアップロードしようとすると、Validate の指摘リストに表示される重大度は、最後にアップロードされたプロジェクトタイプによって異なることに注意してください。QAC 結果が最後にアップロードされた場合は、QAC 重大度が使用され、その逆も同様です。

Debian 10.7 を使用し、Klocwork Desktop Analysis (kwgcheck) を実行している場合

次のコマンドを実行して、不足しているライブラリをインストールします。

sudo apt-get install --reinstall libgtk2.0-0

dbvalidate クリーンアップユーティリティはデータ損失を引き起こす可能性がある

dbvalidateクリーンアップユーティリティの使用がデータロスにつながる可能性があるため、dbvalidate または、dbvalidate クリーンアップの実行は推奨されません。旧バージョンからのアップグレードをするときは、文書化されている手順に従い移行することをお勧めします。アップグレード後に問題が生じた場合、サポートチケットをあげてください。

Klocwork デスクトップツールは以前のサーバーに接続できない

2023.4 以降は、Klocwork デスクトップツールは以前の Klocwork サーバーに接続できません。

回避策: Klocwork デスクトップツールを Klocwork サーバーに接続するには、両方に同じリリースバージョンを使用します。

Windows で、統合ビルドの結果をサーバーにロードすることに失敗する

Windows では、Klocwork をインストールするときに、カスタムセットアップタイプを選択せず、また Klocwork サーバーのみオプションを選択しないでください。これは、統合ビルドの結果をサーバーにロードすることに失敗してしまうためです。

回避策: Klocwork をインストールし、すべてのプログラム機能をインストールする完全なセットアップタイプを選択します。あるいは、カスタムセットアップタイプを選択し、Klocwork サーバーとビルドツールオプションを選択します。

プロジェクトのビルドがアップロード時にハングする

インフラストラクチャ関連の構成が原因で、クライアントとサーバー間のネットワーク接続の問題が発生すると、kwadmin の負荷が無期限にハングすることがあります。

回避策: kwadmin ロードの隠しオプション --hard-timeout を使用して、タイムアウト値を時間、分、または秒で指定します。クライアントからサーバーへのリクエストがタイムアウト値の間応答しない場合、load コマンドは失敗します。

例: kwadmin load myProject myTables --hard-timeout 10m.

チェッカー設定の移行に関する制限

アップグレードプロセス中 (インポートプロセス経由) では、チェッカー構成ファイルに関して次の制限があることに注意してください。

  • デフォルトのチェッカー構成ファイルへの変更のみがインポートされます。以前のインストールでデフォルト以外のチェッカーを有効にしており、新しいバージョンでその名前が変更された場合、新しいビルドではチェッカーが表示されません。Klocwork の新しいバージョンでチェッカーを再度手動で有効にする必要があります。
  • デフォルトで有効になっていたチェッカーの名前が Klocwork の新しいバージョンで変更された場合、新しいインストールの最初のシステムビルドまで、新しいコードは表示されません。

kwcollect が新しい解析エンジンによって生成されたテーブルで失敗する

回避策: お客様のプロジェクトが Klocwork 2018 の新しい解析エンジンで構築されている場合は、コマンドラインに '--all-sources' オプションを含める必要があります。この要求事項は、お客様のプロジェクトが Klocwork 2018 の新しい解析エンジンなしで構築された場合には適用されません。お客様のプロジェクトが新しい解析エンジンにより構築されたかどうかを判定するには、ビルドの出力テーブルフォルダーのルートに格納されるビルドログで、ビルドプロセスの出力を調べます。「Selected Engines」で始まる行を検索します。角括弧の中に 'MODERN' が表示されたら、お客様のプロジェクトは Klocwork 2018 の新しい解析エンジンを使用して構築されています。

Debian 10.x 以降でライセンスサーバーを実行できない

バージョン 10.x の Debian は、Linux Standard Base コア (lsb-core) をもはやサポートしていません。このため、ライセンスサーバーは Debian 10.x 以降のプラットフォームで実行できません。

kwauth が HTTP/1.1 ヘッダーを正しく設定しない

Klocwork サーバーの IP アドレスが複数のホスト名に関連付けられているか、リバースプロキシの背後にある場合、kwauth は Klocwork サーバーの FDQN を正しく解決しないことがあります。

回避策: この問題を解決するために、指定された構成ファイルのパラメーターに基づく条件付きホスト解決を追加しました。それを「false」に設定すると、リモートサーバーの URL に FQDN を指定できます。ホスト解決を「false」に設定するには、次のアドレスを使用してクライアント側で構成ファイルを作成する必要があります。
{client_tools_install_folder}\config\client_config.xml
そのファイルは次の構造である必要があります。
<?xml version="1.0" encoding="UTF-8"?><params>   <host resolveHost="false" /></params>

64 ビット REPCXX のメモリ制限

2020.4 SR1 では、64 ビット REPCXX (当社の標準的な C/C++ 解析エンジン) は、デフォルトで最大 16 ギガバイト (GB) のメモリ使用に制限されます。この制限を超える試みが発生すると、終了コード 121 と以下のメッセージが生成されて REPCXX 処理が終了します。
"memory: REPCXX has exceeded the memory threshold of 16000000 Kb, mem_usage={0} Kb. 
Memory threshold can be increased by passing a value (in GB) to REPCXX through the 
'--memory-limit=' option or through the 'KW_CLASSIC_ENGINE_MEMORY_LIMIT' environment variable." (メモリ: REPCXX はメモリしきい値である 16000000 Kb を超えました。mem_usage={0} Kb。メモリしきい値は、'--memory-limit=' オプションを使用して REPCXX に値 (GB 単位) を渡して増やすことも、'KW_CLASSIC_ENGINE_MEMORY_LIMIT' 環境変数を介して増やすこともできます。)

回避策: エラーメッセージに示されるように、16 GB のメモリ上限は新しい --memory-limit REPCXX オプションまたは 'KW_CLASSIC_ENGINE_MEMORY_LIMIT' 環境変数を使用してオーバーライドできます。たとえば、メモリ上限を REPCXX プロセスあたり 32 GB に上げる場合は、オプション --add-compiler-options '--memory-limit=32' を指定して kwbuildproject を実行できます。

メモリ上限が引き上げられたことの確認として、REPCXX プロセスの開始時に以下のメッセージがビルドログに出力されます。
「REPCXX memory input set to 32 GB (32000000 KB) (REPCXX メモリ入力は 32 GB (32000000 KB) に設定されています)」

ビルドのロードを試みる際の 'kwloaddb: Java ヒープスペース' エラー

接続されたプロジェクトからのロードまたはビルド中、あるいは kwcheck run を実行するときに、「OutOfMemory (メモリ不足)」例外が発生することがあります。

回避策: このエラーを修正するために、java_wrappers_memory.conf ファイルで kwloaddb のメモリ量を増やしてみることができます。このエラーが引き続き表示される場合は、カスタマーサポートにお問い合わせください。

ストリームを含むデータベースを検証しようとすると、dbvalidate はエラーを出力する

ストリームを伴うプロジェクトの場合、dbvalidate を実行しようとすると次のようになります。java -jar /<path-to-server>/class/dbvalidate.jar --projects-root /<path-to-projects-root>/projects_root --project a

dbvalidate は、ステップ a1、k、場合によっては j と l でエラーメッセージを誤って出力します。これらのメッセージは無視できます。

Linux で 'sconf' ファイルを使用しても、指定したファイルで欠陥はフィルター処理されません。

'sconf' ファイルで Windows スタイルのパスを使用している場合、接続されたプロジェクトは整合性のない結果をもたらす可能性があります。

回避策: Windows スタイルのファイルパス (たとえば、'C:\Checkout\PRs\PR-59822\test.cpp' または 'C:\\Checkout\\PRs\\PR-59822\\test.cpp') の使用を回避します。すべてのプラットフォーム全体で、UNIX スタイルのパスを使用できます。例:

Windows: C:/Checkout/PRs/PR-59822/test.cpp
Linux: /checkout/mydir/test.cpp

注意: 'C:\Checkout\PRs\PR-59822\test.cpp' 形式はサポートされていないため、すべてのプラットフォームで回避するようにしてください。

ビルド統合の制限事項

kwloaddb、kwadmin および kwjava のデフォルトのメモリ設定を使用して Android 4.4 (KitKat) をロードできない

Android プラットフォームをビルドする場合、ロードプロセスを呼び出すマシン上の特定の Klocwork ツールのメモリ設定を増やす必要があります。これらの値は、<klocwork_install>/config/java_wrappers_memory.conf ファイルで変更できます。

Jack ツールチェーンを使用した Android N の Java 解析

Jack コンパイラを使用して Android N をビルドするときに、Klocwork Java 解析に必要な jar ファイルの一部がビルドプロセス中に生成されません。このため、kwbuildproject で解析結果の精度に影響を及ぼす "Unresolved import"、"Unresolved method"、および "Unresolved name" セマンティックエラーが発生します。

回避策: Klocwork カスタマーサポート付きチケットを開きます。カスタマーサポートから、解析に必要な jar ファイルを生成できるスクリプトを提供いたします。kwinject コマンドの実行後、および kwbuildproject コマンドの実行前にスクリプトを実行します。

C# 解析の制限事項

次の機能は C# 統合プロジェクトではサポートされていません。

機能 詳細
ビルド統合
Validate

次の機能は C# デスクトップ解析ではサポートされていません。

  • Visual Studio でサーバーの指摘を表示
  • Visual Studio でのファイルレベルの解析 (ソリューションとプロジェクトのみを解析できます)
  • ナレッジベースの使用

Java 解析の制限事項

リリース 2024.2 では、Java での kwciagent run および kwcheck run の使用を反映するように、ドキュメントが更新されました。 特に、指定されたファイルのサブセットに対する kwciagent による差分解析は、Java プロジェクトではサポートされていません。

Python に関する制限事項

リリース 2023.3 では、Python 分類基準にリストされている以下のチェッカーはサポートされていません。これらはデフォルトでは無効になっていますが、手動で有効にすることができます。

E0001

F0001

I0001

I0020

E0013

F0002

I0010

I0021

E0014

F0010

I0011

I0022

E0015

F0011

I0013

I0023

リリース 2023.2 では、Python 分類基準にリストされている以下のチェッカーはサポートされていません。これらはデフォルトでは無効になっていますが、手動で有効にすることができます。

E0001

F0002

I0020

W4902

E0013

F0010

I0021

W4903

E0014

F0011

I0022

W4904

E0015

I0001

I0023

W4905

E0705

I0010

W0246

 

E1143

I0011

W3101

 

F0001

I0013

W4901

 

Validate の制限事項

Validate 2024.1 以前のサーバーにサインインできません

Validate 2024.1 以前のサーバーにサインインできない、または Trying to rerun async when not logged in というエラーが発生します。

回避策: Validate サーバーのブラウザーキャッシュと Cookie を消去します。

Microsoft Edge で、一部の項目がクリックできないことがある

Microsoft Edge の指摘のために、ポータルの一部の項目がクリックできないことがあります。

回避策: ページを更新します。

セキュリティレポートの 'Cert C Recommendations' セクションが省略されています。

回避策: 必要に応じて、この分類基準に関するコンプライアンスレポートを生成できます。詳細については、サポートにお問い合わせください。

Klocwork サーバーと Validate Windows サービスを同時に実行できない

Windows では、Validate または Klocwork サーバーのいずれかをインストールし、Windows サービスを自動的に開始するように設定し、続いてもう一方を追加でインストールすることを選択すると、サービスは開始されません。 これらのうち 1 つのインストールに対してのみ、Windows サービスを同時に実行できます。

さらに、両方ともインストールする場合は、それらの Web ポートとデータベースポートは別のものである必要があります。

回避策: 同時に両方を実行する場合は、コマンドラインを使用することで、少なくとも 1 つのインストールに対してサーバーを起動する必要があります。

Validate/Validate で、「モジュール」ページのツリー構造に CI ビルドパスが表示されない

新しいモジュールを作成すると、ファイルツリーには最新のサーバービルドからのファイルが常に表示されます (アップロードされた最新のビルドが kwciagent からの CI ビルドであった場合でも)。

回避策: CI ビルドからファイルまたはパスを含めるようにする場合は、'ツリーを使用する' フィールドを使用する代わりに、'パスパターン' を使用してそれらを手動で入力する必要があります。

CI ビルドのみが含まれているプロジェクトで指摘を「すべて編集」を実行しようとするとエラーが発生する

プロジェクトの指摘リストから Validate 内の指摘を引用するときに、プロジェクトに CI ビルドのみが含まれている場合、[すべて編集] を使用して指摘リストを管理しようとすると、次のエラーが発生します。

Database error occurred: プロジェクトに有効なビルドがありません

回避策: 引用する指摘を選択し、[選択した指摘を編集] を使用します。

Visual Studio 拡張機能の制限事項

Visual Studio 拡張機能 2024.1 以前で、モダン認証が有効になっている Validate サーバーを使用した場合の認証失敗

最新の認証 (modern-jit または modern-pp) を使用するようにアップグレードされた Validate サーバーで Visual Studio 拡張機能バージョン 2024.1 以前を使用すると、指摘が発生します。ログインしてユーザー名とパスワードを入力するように求められても、認証は失敗します。

回避策:

  1. 2024.2 authtools パッケージ以降のバージョンをインストールします。

  2. 新しい kwauth でデバイス認証を実行し、--insecure フラグを追加します。ユーザー名が変更されている可能性があるため、システム管理者に問い合わせることが必要になる場合があります。

Visual Studio 拡張機能 2024.1 を引き続き使用することも、最新のプラグインにアップグレードすることもできます。最新のプラグインでは、デフォルトで kwcheck に基づく新しい解析エンジンが使用されることに注意してください。

分析ごとに指摘の数が変わる

実行する Visual Studio 拡張機能分析ごとに、異なる数の指摘が表示されます。

回避策: この指摘を解決するには、デフォルトの kwcheck エンジンを使用します。

Visual Studio 2019 で「One or more extensions were loaded using deprecated APIs (廃止された API を使用して 1 つ以上の拡張機能がロードされました)」という警告メッセージが表示される

Visual Studio 2019 では、廃止された API に関する警告メッセージが表示されることがあります。[廃止された API の使用を許可しない] の推奨オプションを選択すると、Klocwork プラグインは無効になり、VS の Klocwork ツールにアクセスできなくなります。

回避策: 「Don't show this message for current extensions (現在の拡張機能でこのメッセージを表示しない)」オプションを選択すると、この警告を安全に無視し、Klocwork プラグインの使用を続行します。

Visual Studio 2019 で「Visual Studio stopped responding for X seconds. (Visual Studio は X 秒間応答を停止しました。)」の警告メッセージが表示される

Visual Studio 2019 では、Klocwork プラグインの使用に関連するパフォーマンスの低下を警告するメッセージが表示されることがあります。[この拡張機能を無効にする] オプションを選択すると、Klocwork プラグインは無効になり、VS の Klocwork ツールにアクセスできなくなります。

回避策: 「Don't show this message for current extensions (現在の拡張機能でこのメッセージを表示しない)」オプションを選択すると、この警告を安全に無視し、Klocwork プラグインの使用を続行します。

Visual Studio 2015 が C++ の解析を妨げている

Windows Server 2012 で実行している Visual Studio 2015 に関する既知の問題により、Visual Studio 向け Klocwork 拡張機能が C++ プロジェクトを解析できなくなります。

回避策: ビルド構成のバージョンを x86 に変更するか、解析モードをクラシックに切り替えます。 クラシックモードに切り替えるには、[ツール] > [拡張機能と更新プログラム] > [Klocwork] > [オプション] に移動し、[解析] タブを選択します。[解析モード] で、[クラシックモードを使用する] チェックボックスを選択します。

Visual Studio 拡張機能が無効になっている場合がある

Visual Studio 向け Klocwork 拡張機能を Visual Studio 2015 にインストールすると、最初は拡張機能が無効になっている場合があります。 その場合は、[ツール] > [拡張機能と更新プログラム] に移動し、[インストール済み] を選択します。[Visual Studio 向け Klocwork 拡張機能] を選択します。Visual Studio を再起動する必要がある場合があります。

Visual Studio ハング

Klocwork 開発チームは、Visual Studio テクニカルサポートチームと協力し、さまざまな状況でユーザーアクションが Visual Studio のハングを引き起こす場合のサポート要求を継続的に調査しています。これらの Visual Studio ハングは、Klocwork VS Extension がインストールされているかどうかを問わず発生します。たとえば、Visual Studio のタブで現在開かれていないソースファイルで定義されている関数定義に移動すると、そのファイルは Visual Studio によって一時的なタブで開かれます。この一時的なタブが開いているときに、続いて別の関数の定義に移動すると、Visual Studio がハングします。

アップグレードした後の Visual Studio での 'kwcc' エラー

2020.1 より前に、kwdeploy を使用して MISRA チェッカーをプロジェクトに展開し、現在 %USERPROFILE%\.klocwork\plugins フォルダーに misra.xml ファイルが存在する場合、次のようなエラーが表示されることがあります。
kwcc: Error: C:\Users\username\.klocwork\plugins\misra.xml:5783: 
Trying to describe error 'MISRA.STDLIB.ILLEGAL_WRITE.2012_AMD1' several times. 
Repeated descriptions are ignored

回避策: この指摘を修正するには、%USERPROFILE%\.klocwork\plugins フォルダーにある misra.xml ファイルを削除してからアップグレードを実行してください。

Klocwork Community チェッカーのヘルプに Visual Studio から直接アクセスできない

Community チェッカーを右クリックし、[チェッカードキュメンテーションを表示] を選択してチェッカーのヘルプにアクセスしようとすると、「要求されたトピックがコンピューターに見つかりません」というエラーメッセージが表示されます。

回避策: ポータルを使用すれば、コミュニティチェッカーのオフラインヘルプを使用できます。オンラインヘルプも使用できます。

Microsoft Visual Studio 機能拡張の重要度別フィルターオプションでは C++ プロジェクトのカスタム重要度が表示されない場合があります

カスタム重要度を定義した C++ プロジェクトでは、重要度でフィルターをかけたリストに正しいアイテムが表示されない場合があります。リストにはデフォルトの重要度名が表示される可能性がありますが、C++ と C# の混合プロジェクトの場合には C# の重要度が表示されます。引き続きフィルターを使用することはできますが、指摘ツリーに表示される重要度名はリストで選択したアイテムと一致しない場合があります (フィルターが重要度番号別に適用されているためです)。

Microsoft Visual Studio 機能拡張の場合、サーバーとの接続が失われている場合にサーバーの指摘を処理する際に、若干のパフォーマンスの低下が生じます。

サーバー接続が失われた場合、サーバーの指摘を処理する際に (たとえば、サーバーの指摘を開く、または引用する際に)、最大 3 秒の遅延が発生します。

回避策: [ローカルな指摘のみを表示] ボタンをクリックして、ローカルな指摘のみを処理します。

Klocwork extension for Visual Studio の場合、Visual Studio で Klocwork Issues ウィンドウから指摘用のヘルプを開いてみると、F1 ヘルプが機能しない

Klocwork Issues ウィンドウで指摘をクリックし、F1 を押してヘルプを開いてみると、Help Viewer ではショートカットにより間違ったヘルプページが開かれます。

回避策: 指摘を右クリックしてチェッカー用ヘルプを開き、[<checker name>チェッカーを管理] メニューから[チェッカードキュメンテーションを表示] を選択します。

ハードコードされた IP アドレスを使用する場合、Klocwork サーバーオプションがプロジェクトを取得できません

Klocwork オプションメニューの Klocwork サーバーダイアログでハードコードされた IP アドレスを使用する場合、Klocwork extension for Visual Studio はプロジェクトのリストを取得できません。

回避策: IP アドレスではなくホスト名を使用します。これがオプションでない場合は、hosts ファイルに IP アドレスのエントリーを追加できます。

ライセンスホストボックスに無効な文字が含まれている場合、オプションダイアログは反応しません

ライセンスホストの詳細を入力し、無効な文字 (';' や '#' など) を入力すると、ダイアログボックスは赤くなり、[オプション] ダイアログ内の他のどの設定も変更できなくなります。

回避策: この指摘を解決するには、ライセンスホストボックスの内容を有効な文字 (アルファベットの任意の文字) に置き換えます。

タブがスペースに変換されない限り、欠陥列が正しく更新されない

Tab キーを押してコードをインデントすると、タブ文字または設定可能な数のスペースが挿入されます。 Klocwork 拡張機能が欠陥が発生した列番号を表示する場合、タブは 1 スペースとしてカウントされます。タブのあるソースファイルでタブをスペースに変換するように Visual Studio で設定していない場合、Tab キーを押したときに、欠陥の正しい列情報が正しくない可能性があります。

回避策: Klocwork が欠陥が発生した場所を表示するときに正しい列数をカウントするようにするには、[ツール] > [オプション] > [テキストエディター] > [すべての言語] > [タブ] に移動し、[スペースの挿入] を選択します。

Klocwork Visual Studio プラグインのインストール時に Visual Studio 2015 が検出されない

Visual Studio 2015 に Klocwork Visual Studio プラグインのインストールを試みて、上位バージョンの Visual Studio (2017 や 2019 など) がすでにインストール済みの場合、VSIX インストーラーは Visual Studio 2015 のインストールを自動的に検出しません。「この拡張機能は、現在インストールされている製品にはインストールできません」というエラーが表示されます。

回避策: Klocwork プラグインを Visual Studio 2015 にインストールするには、コマンドプロンプトから互換性のある VSIX インストーラーを実行します。
<path-to-Visual-Studio-2015-compatible-VSIX-Installer> \VSIXInstaller.exe kw-vsplugin.win64.vsix

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\VSIXInstaller.exe" 
C:\KW_Installer\23.1\kw-desktop-tools.23.1.0.61.win64\kw-vsplugin.win64.vsix

VS Code に関する制限事項

VS Code 拡張機能から接続されたデスクトッププロジェクトを認証できません

リリース 2024.2 の VS Code 拡張機能で接続されたデスクトッププロジェクトを使用するには、拡張機能の外部から手動で認証する必要があります。

回避策: 次のコマンドを実行します。

kwauth --url http(s)://<ip-address>:<port-number> --insecure

2024.1 バージョンの Perforce 静的解析拡張機能および kwcheck では、デフォルトではストリームの欠陥は表示されません。

VS Code 2024.1 用の Perforce 静的分析拡張機能を使用しており、それが kwcheck の 2024.1 バージョンをポイントしている場合、デフォルトではストリームの欠陥は表示されません。

回避策: プロジェクトディレクトリから次のコマンドを実行します。

kwcheck set show_streams_as_system=true

ビルドコマンドにビルドスペックの場所は追加しないでください。'ビルドスペックの場所' 設定から自動的に収集されます。

'ビルドスペックの自動更新' オプションを使用している場合は、'ビルドスペック生成コマンド' にビルドスペックの場所 (-o <location>) を指定しないでください。

回避策: 場所は、ビルドスペックの場所設定で指定します。

ビルドスペック生成コマンドには、一重引用符で囲まれた引数を指定できません。

引用符で囲まれたパラメーターが必要な場合は、(コマンドプロンプト/ターミナルと同じように) 二重引用符を使用してください。

回避策: 引用符で囲まれたパラメーターには、必ず二重引用符を使用してください。

Klocwork Desktop の制限事項

以下のいずれの構成でも、解析がサポートされていません。

  • シンボリックリンクのあるプロジェクトが "no-resolve" という属性を持たない外部ビルドスペックで構成されている場合。プロジェクトがシンボリックリンクを使用しており、ユーザーが外部ビルドスペックを用いてプロジェクトを構成する必要があり、外部ビルドスペックが kwinject に渡された "no-resolve" オプションで作成されなければならない場合。
  • シンボリックリンクを含むプロジェクトが Eclipse CDT ツールチェーンを使用するように構成されている場合。Eclipse プラグインがユーザーに "no-resolve" オプションの設定を許可しない場合。
  • プロジェクトがディレクトリへのシンボリックリンクを含む場合。プラグインがファイルのみへのシンボリックリンクをサポートしている場合。

Eclipse プラグインの制限事項

Eclipse 4.16 では、Klocwork Eclipse プラグインを実行するために、追加のソフトウェアが必要です

バージョン 4.16 の Eclipse を使用している場合、Klocwork Eclipse プラグインを実行するには、次のソフトウェアをインストールする必要があります。
  • Eclipse CDT: Java 11 を使用するか、またはインストール後に eclipse.ini ファイルを更新して有効な Java 11 インストールを指すようにします。
  • Eclipse Java 開発ツール: [ヘルプ] -> [新しいソフトウェアのインストール] コマンドを使用してください。

IntelliJ IDEA プラグインの制限事項

名前が長いプロジェクトまたはストリームに接続するのが困難

パスまたは名前が長いプロジェクトまたはストリームに接続する場合、Klocwork プロジェクトのドロップダウンリストが狭すぎて、パスと名前全体を表示できないことがあるため、プロジェクトまたはストリームのフルパスがわからない場合があります。

回避策: この問題は、次の手順を行うことで修正できます。
  1. Klocwork がインストールされた IDE を開いてから、プロジェクトを開きます。そうすることで、プロジェクト内に .idea フォルダーが確実に生成されます。
  2. IDE を閉じます。
  3. プロジェクトの .idea フォルダーで、'misc.xml' ファイルを編集します。value パラメーターにプロジェクト/ストリームの名前を追加することで、次の行を編集します (ストリームの場合、スラッシュが含まれた名前が表示されます)。
    <option name="kwProject" value="project-name/stream-name" />
  4. IDE を開きます。Klocwork 設定を開くと、正しいプロジェクトまたはストリームに接続されていることを確認できます。

警告: IntelliJ IDEA ログで URL 接続を JarURLConnection のメッセージとして使用しないでください

idea.log 内の IntelliJ IDEA にこの警告がある場合は、安全に無視できます。

CLion プラグインの制限事項

古いバージョンの Klocwork デスクトップツールを使用している接続プロジェクトで CLion プラグインがクラッシュする

Klocwork Clion プラグインの 2023.4 バージョンは、デスクトップツールの最新バージョン (2023.4) とのみ互換性があります。

'java.sql.SQLException: SQLite.Exception: no such column: in_connected' エラー

このエラーは、2021.4 以前のバージョンの Klocwork ツールで、2022.1 以降のバージョンの CLion 用の Klocwork Desktop プラグインを使用しようとした場合に発生します。
 
回避策: 古いバージョン (2021.4 以前) の Klocwork ツールをまだ使用している場合は、このエラーを回避するために、Klocwork CLion プラグインを 2022.1 以降にアップグレードしないでください。

Klocwork extensibility の制限事項

C/C++ パス チェッカー コンパイル makefile の互換性

Unix システムで kwcreatechecker が生成する makefile には、チェッカーをビルドするための GNU make が必要です。Windows では、kwcreatechecker が生成する makefile にはチェッカーをビルドするための nmake が必要です。

回避策: なし。

Windows でのチェッカーの制限

kwcreatechecker.exe はデフォルトで 64 ビットチェッカーを作成します。32 ビットチェッカー (つまり、2020.4 より前の Klocwork バージョンと互換性のあるチェッカー) を作成する場合は、--force-32bit オプションを使用する必要があります。

2020.4 より前の KAST/AST チェッカーまたは 2020.3 より前のパスチェッカーを使用する場合は、すべてのビルド (kwbuildproject、kwcheck など) に --force-32bit オプションを追加する必要があります。

2020.4 より前の KAST/AST チェッカーまたは 2020.3 より前のパスチェッカーを使用し、新しいチェッカーを作成する場合は、以下のいずれかを実行する必要があります。

  • 2020.4 バージョンの kwcreatechecker.exe を使用するか、または 64 ビットコンパイラを使用し、古いチェッカーをすべて再ビルドする。
  • 2020.4 より前のバージョンで新しいチェッカーをビルドする。
32 ビットチェッカーと 64 ビットチェッカーを混在させることはできません。
  • 32 ビットチェッカーをビルドする場合、それらを 2020.4 Visual Studio プラグインで使用できるのは、[32 ビットを強制] 解析オプションが有効に設定されている場合だけです。
  • 64 ビットチェッカーをビルドする場合、それらを 2020.4 Visual Studio プラグインで使用できるのは、[32 ビットを強制] 解析オプションが無効に設定されている場合だけです。
  • 32 ビットチェッカーをビルドする場合、それらを Eclipse ベースのプラグインで使用することはできません。
  • 64 ビットのパスチェッカーを使用すると、次の警告が表示されます (この警告は無視しても安全です)。
    kwcc: 警告: プラグインライブラリ 'c:\Klocwork Server\plugins\ix86-pc-win32\&lt;checker>.dll' を開くことができません: 指定したモジュールが見つかりませんでした。

Linux でのチェッカーの制限

カスタムチェッカーの 32 ビット下位互換性はサポートされなくなり、オプション '--force-32bit' は廃止されました。64 ビットコンパイラを使用して、古いチェッカーをすべて再構築する必要があります。詳細については、サポートにお問い合わせください。

オフラインヘルプで検索するときに、カスタムチェッカーヘルプが見つからない

2022.1 時点で、Validate ポータルからアクセスしたオフラインドキュメントからは、カスタムチェッカーヘルプを検索できません。

回避策: 代わりに、Validate ポータルで、[構成] タブからカスタムチェッカーヘルプを検索できます。プロジェクトから、[構成] をクリックし、分類基準を選択してからチェッカーリストの上にある検索ボックスを使用します。カスタムチェッカーのヘルプが右側のペインに表示されます。

一部の IDE ではカスタムチェッカーヘルプを表示できない

Eclipse、Klocwork Desktop、IntelliJ IDEA、および Android Studio の場合、カスタムチェッカーヘルプは表示されません。

回避策: ポータルで、[構成] タブからそれにアクセスすることで、カスタムチェッカーヘルプを表示できます。プロジェクトから、[構成] をクリックし、分類基準を選択してからチェッカーリストの上にある検索ボックスを使用します。カスタムチェッカーのヘルプが右側のペインに表示されます。