制限事項

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

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

バックアップまたは復元中に MySQL の「ソケットエラー」が表示される

コマンドでデータベースホストが正しく指定されていない場合、Linux でバックアップおよび復元スクリプトを実行しているときに MySQL の「ソケットエラー」が発生することがあります。

回避策: スクリプトを正しい MySQL ホストに接続するには、コマンドに --db-host パラメーターを追加し、その後にデータベースが実行されているホストの完全修飾ドメイン名 (FQDN) または IP アドレスを指定してください。 例:

backup --db-host 127.0.0.1

Windows でコマンドラインインストール後に Validate サーバーの起動が失敗する

リリース 2024.2 以降で、Windows のコマンドラインを使用してインストールした場合、特にネットワークドライブから実行した場合に、Validate サーバーの起動が失敗することがあります。この指摘は、ファイルパス検索ライブラリが Java のネットワークパスを解決できないために発生します。

回避策: 現在、ネットワークドライブから Klocwork ツールまたは Validate ツールを実行することはお勧めしません。ネットワークドライブから Validate サーバー実行可能ファイルを実行する場合は、必ず Java 17 をローカルにインストールし、PATH または KW_JAVA 環境変数に追加してください。

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 にアップグレードした後、kwgcheck が使用できない

Debian 10.7 にアップグレードすると、ライブラリがないため Klocwork Desktop Analysis の kwgcheck を起動できないことがあります。

回避策: 足りないライブラリをインストールするため、以下のコマンドを実行してください。

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

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

2023.1 ~ 2024.2 バージョンの dbvalidate クリーンアップツールを使用するとデータが失われる可能性があるため、dbvalidate または dbvalidate クリーンアップを実行することはお勧めしません。前のバージョンからアップグレードする場合は、文書化された手順に従って移行することをお勧めします。アップグレード後に指摘が発生した場合は、サポートチケットを発行してください。

Klocwork Desktop ツールは以前のサーバーに接続できない

2023.4 以降では、Klocwork Desktop ツールは以前の Klocwork サーバーに接続できません。

回避策: Klocwork Desktop ツールを 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 ファイルで変更できます。

C# 解析の制限事項

C# 統合プロジェクトでサポートされていない機能

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

機能 詳細
ビルド統合
Validate

C# デスクトップ解析でサポートされていない機能

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

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

 

Java 解析の制限事項

Android 14 で Klocwork 2024.4 以前を実行すると java.lang.StackOverflowError の指摘が発生する

Android 14 で Klocwork 2024.4 以前を実行すると、Java の解析でエラーが発生します。

回避策: kwandroid --ignore-files を使用して、frameworks/libs/modules-utils/java/com/android/internal/util/Preconditions.java ファイルを無視してください。

Python に関する制限事項

Python チェッカーはサポートされていない

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

E0001

F0001

I0001

I0020

E0013

F0002

I0010

I0021

E0014

F0010

I0011

I0022

E0015

F0011

I0013

I0023

Validate の制限事項

RLM 16 には Linux でのドングルの使用に関する既知の問題がある

Validate 2025.1 以降には、RLM サーバーバージョン 16 が付属しています。Linux でドングルを使用すると、RLM  16 が正しく起動しないことがあります。

回避策: ドングルは Windows ライセンスサーバーと共に使用してください。

データベースへのアクセスが失敗してデータベースエラーが発生する

リリース 2025.1 以降で、「Failed to access the database: Database error occurred」というメッセージを伴う接続障害エラーが発生します。これは、MySQL データベースドライバーの代わりに使用されるようになった MariaDB ドライバーによるエラーコードおよび SQL 状態値の実装の違いによるものと思われます。

回避策: 接続障害の値を追加してください。手順については、「データベースへのアクセスが失敗してデータベースエラーが発生する」を参照してください。

異なるバージョンの Validate を使用してバックアップを復元することはできない

あるバージョンの validate_backup を使用して作成されたバックアップを異なるバージョンの validate_restore を使用して復元することはできません。たとえば、Validate 24.4 で作成されたバックアップは、Validate 24.3 または 25.1 を使用して復元することはできません。

回避策: プロジェクトまたはサーバーをバックアップおよび復元するには、同じバージョンの Validate を使用してください。新しいサーバーバージョンに移行する場合は、互換性の指摘を回避するため、移行が完了してから、新しいプロジェクトとサーバーのバックアップを作成することをお勧めします。

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

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

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

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

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

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

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# の重要度が表示されます。引き続きフィルターを使用することはできますが、指摘ツリーに表示される重要度名はリストで選択したアイテムと一致しない場合があります (フィルターが重要度番号別に適用されているためです)。

ハードコードされた 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 に関する制限事項

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" オプションの設定を許可しない場合。
  • プロジェクトがディレクトリへのシンボリックリンクを含む場合。プラグインがファイルのみへのシンボリックリンクをサポートしている場合。

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 設定を開くと、正しいプロジェクトまたはストリームに接続されていることを確認できます。

CLion プラグインの制限事項

CLion を再起動すると、「プラグイン 'com.intellij.modules.cidr.lang' をインストールする必要があります」という警告が表示される

CLion IDE のバージョン 2024.1 または 2024.2 を再起動すると、「プラグイン 'com.intellij.modules.cidr.lang' をインストールする必要があります」という警告が表示されます。

回避策:

デフォルトでは、Klocwork CLion プラグインは以下の場所にインストールされます。

  • Windows: %appdata%\Roaming\JetBrains\CLion2024.x\plugins\klocworkclionplugin
  • Linux: ~/.local/share/JetBrains/CLion2024.x/plugins/klocworkclionplugin
  1. Klocworkclionplugin\lib で、klocworkclionplugin-<kw version>.jar アーカイブを開きます (たとえば、7-Zip を使用します)。
  2. 7-Zip から、META-INF\plugin.xml ファイルをテキストエディターで開きます。
  3. META-INF\plugin.xml ファイルを更新するため、行 <depends>com.intellij.modules.cidr.lang</depends><depends optional="true">com.intellij.modules.cidr.lang</depends> に置き換えてファイルを保存します。
  4. 7-Zip を終了します。
  5. CLion IDE を再起動します。警告が表示されなくなります。

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

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

Klocwork extensibility の制限事項

kwinject 使用時のプロジェクトのビルド監視の遅延 (Windows)

kwinject を使用して Windows でプロジェクトを同期すると、ネイティブビルドを実行する場合よりも大幅に遅くなります。

回避策:

  • Klocwork 2024.3 以前の場合: kwinject を実行する前に、以下のコマンドを実行して環境変数を設定してください。
    _NO_DEBUG_HEAP=1
  • Klocwork 2024.4 以降の場合: デフォルトで、この最適化は Windows で有効になっています。Windows での kwinject の使用時に問題が発生した場合は、環境変数を設定することができます。
    KWTRACE_DISABLE_FAST_PIPE=1

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

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

回避策: なし。

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

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

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

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

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

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