このセクションは、C/C++test で発生する可能性がある問題のトラブルシューティングに役立ちます。
C/C++test は、C/C++ ソース ファイルは直接解析しますが、ヘッダー ファイルは間接的に解析します。現在選択されている内容に基づいて、C/C++test はすべての C/C++ ソース ファイルを解析し、選択されているすべてのソース ファイルとヘッダー ファイル (ソース ファイルによってインクルードされているヘッダー ファイルのみ) について違反をレポートします。
例:
[Parasoft] メニューの [設定] をクリックして [コンソール] をクリックし、冗長レベル (高、通常、低) を選択します。
高 | 通常 | 低 | |
---|---|---|---|
基本情報 現行のステップの名前とステータス (終了、失敗、最新) | 〇 | 〇 | 〇 |
エラー | 〇 | 〇 | 〇 |
警告 | 〇 | × | × |
コマンド ライン | 〇 | 〇 | × |
静的解析と単体テストの実行中に表示される違反 | ○ すべてを表示 | ○ 一部省略 | × |
CPPTEST_ENGINE_EXTRA_ARGS オプションを使用して、-Xmx
の値を指定することでメモリの割り当てサイズをカスタマイズできます。この方法は、静的解析を実行する場合や、結果を DTP にレポートする場合に特に便利です。詳細は「詳細オプションの設定」を参照してください。
C/C++test がレポート生成中にメモリを使い果たした場合、「C/C++test がレポート生成中にメモリを使い果たした場合」を参照してください。
プロキシ サーバー経由で接続するには、次の場所にある parasoft.properties でプロトコル固有のシステム プロパティを設定する必要があります。
Visual Studio 2015-2019 の場合
<
INSTALL-DIR>/plugins/com.parasoft.ptest.common.vstudio/parasoft.properties
Visual Studio 2022 の場合
<INSTALL-DIR>/ptest/plugins/com.parasoft.ptest.common.vstudio/parasoft.properties
たとえば、HTTPS プロトコルを使用する場合、HTTPS 用のシステム プロパティが設定されていることを確認します。最小限でも、https.proxySet=true
、https.proxyHost=[hostname]
、およびhttps.proxyPort=[port number]
を設定する必要があります。プロキシ サーバーが認証を要求する場合、https.proxyUser
および https.proxyPassword
プロパティを使用して認証情報を設定できます。
コマンドは次のようになります。
https.proxySet=true https.proxyHost=proxy.parasoft.com.pl https.proxyPort=3128 https.proxyUser=username https.proxyPass=password |
さらに、https.nonProxyHosts
プロパティを設定して、プロキシ経由での接続が要求されないホストを指定することもできます。
「サポート アーカイブの準備」を参照してください。
ネットワーク環境が変わると、マシン ID の計算に使用されるインターフェイスが変わり、結果としてマシン ID が一定でなくなる可能性があります。PARASOFT_SUPPORT_NET_INTERFACES 環境変数を使用すると、安定したインターフェイスを指定し、マシン ID が変化するのを防ぐことができます。
変数に安定した Ethernet ネットワーク インスタンスを指定します。仮想インターフェイス、一時インターフェイス、ループバック インターフェイスは使用しないでください。
- Windows の場合: ネットワーク カードの MAC アドレスを指定します。ipconfig -all
コマンドを使用してアドレスを取得できます。 例:
SET PARASOFT_SUPPORT_NET_INTERFACES=00-10-D9-27-AC-85 |
- Linux の場合: "inet" または "inet6" ファミリーのいずれかのネットワーク インターフェイスを指定します。ifconfig
コマンドを使用して利用可能なインターフェイスのリストを取得できます。例:
export PARASOFT_SUPPORT_NET_INTERFACES=eth1 |
問題が解決しない場合、環境変数 PARASOFT_DEBUG_NET_INTERFACES を設定して値に true を指定すると、診断情報を取得できます。テクニカル サポートに送信可能なチェック手順や、マシン ID の計算に使用されているインターフェイスが標準出力に表示されます。マシン ID の計算に使用されているインターフェイスには [SELECTED] という接頭辞が付きます。
マシン ID が WIN32-0 の場合、<DRIVE>:\Users\<USER_NAME>\.parasoft\C++test\10.x\license にあるライセンス ファイルを削除してください。
新しいリリースでメッセージが変更されたルールに関連付けられた抑制は、DTP で利用できないため、再度抑制する必要があります。
BD カテゴリのルールについては、次の詳細オプションを指定することで、バージョン 10.4.1 以降でも以前のメッセージに戻すことができます (「詳細オプションの設定」を参照)。
CPPTEST_ENGINE_EXTRA_ARGS="-property flowanalysis.legacy.messages.for.<rule_ID>=true"
例:
CPPTEST_ENGINE_EXTRA_ARGS="-property flowanalysis.legacy.messages.for.BD.PB.ARRAY=true -property flowanalysis.legacy.messages.for.BD.PB.ZERO=true" |
以前のメッセージを復元するには、次のローカルな C/C++test キャッシュ データを格納する .cpptest フォルダーを削除する必要があります。<workspace_location>/.cpptest/.dtpengine/.cpptes
t
拡張機能や他の Visual Studio コンポーネントをインストールまたはアップデートすると、Visual Studio の Component Model Cache が壊れ、C/C++test が起動できなくなる場合があります。Component Model Cache を消去するため、cpptestcli
コマンドに -clearcmc
オプションを指定して実行してください。
解析が完了するよう、以下のいずれかを行ってください。
cpptest.analyzer.source.timeout=<TIMEOUT_IN_SECONDS>
を参照してください。
静的カバレッジ データ収集時に見つからないファイルを指摘するセットアップの問題は、ファイルのローカル パスがビルド時のパスと異なっていることを示唆します。
回避策として、CPPTEST_COVERAGE_SRC_ROOT
環境変数を使用して元のパスをローカル パスにマッピングできます。
CPPTEST_COVERAGE_SRC_ROOT=original/path1=local/path1;original/path2=local/path2;...
元のパスの中で '*' をワイルドカードとして使用できます。例:
CPPTEST_COVERAGE_SRC_ROOT=/*/path=/local/path
リスト ファイル (*.lst) でパス マッピングのリストを指定し、ファイルの場所を値として設定することもできます。例:
CPPTEST_COVERAGE_SRC_ROOT=/path/mapping.lst
*.lst ファイルの各項目は個別のエントリとして扱われます。
レポートを生成するときに、次のエントリがあるレポート コンフィギュレーション ファイルを指定します。
results.report.active_rules=true
Parasoft 製品が生成するレポートを表示するには、環境にサンセリフ フォントが必要です。各国語文字など、正常に表示されない文字がある場合、システムにサンセリフ フォントがインストールされているかを確認してください。
C/C++test は、コードをテストした後、別個の JVM を使用してレポートを生成します。parasoft.report.separate_vm.xmx
システム プロパティを使用して C/C++test レポートの生成に割り当てられるメモリの量を増やすことができます。例:
parasoft.report.separate_vm.xmx=1280m |
parasoft.report.separate_vm.java_home
システム プロパティを使用すると、レポートを生成する JVM として、より大きな最大メモリ サイズを持つ JVM を指定できます。例:
parasoft.report.separate_vm.java_home=C:/Program Files/Java/jdk-12.0.1 |
C/C++test は Visual Studio 2017 でプロジェクトのキャッシュが有効化されている場合、テスト ケースを生成できません。テスト ケースを生成するには、プロジェクトのキャッシュを無効にします。
ソリューション エクスプローラーのコンテキスト メニューですべての Parasoft オプションが使用できるようにするには、Visual Studio 2017 に以下の Visual Studio Workload がインストールされている必要があります。
Visual Studio 2017 および 2019 には新しくパフォーマンス管理モニターが導入され、起動時間に影響を与える可能性がある拡張機能をモニターし、管理できるようになりました。結果として、Parasoft Plugin がインストールされていると、Visual Studio の起動時間が増加したことを示すポップアップ警告が表示される場合があります。ポップアップ ウィンドウで [Manage Performance] リンクをクリックして起動時間を確認し、警告の表示を無効にすることができます。
Visual Studio のネイティブなコード補完機能である IntelliSense が C/C++test 固有の構文を認識できない場合、テスト スイート内の正しいコード要素に問題の可能性を示す赤い下線が表示される可能性があります。 これを防ぐには、以下のいずれかを行います。
テスト スイート内のコードを次のディレクティブで囲む。
#ifndef __INTELLISENSE__ //this code block will not be analyzed by IntelliSense #endif |