このセクションは、C/C++test で発生する可能性がある問題のトラブルシューティングに役立ちます。
C/C++test がメモリ不足になったらどうすればいいのか ?
CPPTEST_ENGINE_EXTRA_ARGS オプションを使用して、-Xmx
の値を指定することでメモリの割り当てサイズをカスタマイズできます。この方法は、静的解析を実行する場合や、結果を DTP にレポートする場合に特に便利です。詳細は「詳細オプションの設定」を参照してください。
ヘッダー ファイルを解析するには ? どのファイルが解析されるのか ?
C++test は、C/C++ ソース ファイルは直接解析しますが、ヘッダー ファイルは間接的に解析します。現在選択されている内容に基づいて、C++test はすべての C/C++ ソース ファイルを解析し、選択されているすべてのソース ファイルとヘッダー ファイル (ソース ファイルによってインクルードされているヘッダー ファイルのみ) について違反をレポートします。
例:
- プロジェクト ルートを選択した場合、すべてのソース ファイルが解析されます。ヘッダー ファイルも間接的に解析されます。
- 1 つのソース ファイルを選択した場合、その選択したファイルだけが解析されます。ヘッダー ファイルは解析されません。
- 1 つのソース ファイルと 1 つのヘッダー ファイルを選択した場合、ソース ファイルは解析されます。ソースによってインクルードされている場合、ヘッダー ファイルも解析されます。
- ヘッダー ファイルだけを選択した場合、C++test は解析をスキップします。C++test はヘッダー ファイルを直接解析しないからです。
現在有効な静的解析ルールのリストをレポートとして生成するには、どうすればいいか?
レポートを生成するときに、次のエントリがあるレポート コンフィギュレーション ファイルを指定します。
results.report.active_rules=true
C++test コンソールの冗長レベルを変更するには?
[Parasoft] メニューの [設定] をクリックして [コンソール] をクリックし、冗長レベル (高、通常、低) を選択します。
高 | 通常 | 低 | |
---|---|---|---|
基本情報 現行のステップの名前とステータス (終了、失敗、最新) | 〇 | 〇 | 〇 |
エラー | 〇 | 〇 | 〇 |
警告 | 〇 | × | × |
コマンド ライン | 〇 | 〇 | × |
静的解析と単体テストの実行中に表示される違反 | ○ すべてを表示 | ○ 一部省略 | × |
C++test 6.x テスト コンフィギュレーションを参照するには?
「C++test 6.x からのテスト資産の移行」を参照してください。
Visual Studio 2017 でテスト ケースを生成できない場合
C++test は Visual Studio 2017 でプロジェクトのキャッシュが有効化されている場合、テスト ケースを生成できません。テスト ケースを生成するには、プロジェクトのキャッシュを無効にします。
- Visual Studio 2017 のメイン メニューで [ツール] > [オプション] をクリックします。
- [Projects and Solutions] を拡張し、[VC++ Project Settings] を選択します。
- [Enable Project Caching] を [No] に設定し、プロジェクトのキャッシュを無効化します。
Visual Studio 2017 のソリューション エクスプローラーのコンテキスト メニューで一部の Parasoft オプションが使用できない場合
ソリューション エクスプローラーのコンテキスト メニューですべての Parasoft オプションが使用できるようにするには、Visual Studio 2017 に以下の Visual Studio Workload がインストールされている必要があります。
- Desktop development with C++
- Universal Windows Platform development または .NET desktop development
- Visual Studio のインストーラーを実行します。
- ウィザードに従って適切なワークロードを選択します。
Parasoft Plugin またはそのコンポーネントが Visual Studio 2017 の処理を遅くしているという通知が表示される
Visual Studio 2017 および 2019 には新しくパフォーマンス管理モニターが導入され、起動時間に影響を与える可能性がある拡張機能をモニターし、管理できるようになりました。結果として、Parasoft Plugin がインストールされていると、Visual Studio の起動時間が増加したことを示すポップアップ警告が表示される場合があります。ポップアップ ウィンドウで [Manage Performance] リンクをクリックして起動時間を確認し、警告の表示を無効にすることができます。
C/C++test が生成したテスト スイート内の正しいコードに対して Visual Studio が構文エラーをレポートする場合
Visual Studio のネイティブなコード補完機能である IntelliSense が C/C++test 固有の構文を認識できない場合、テスト スイート内の正しいコード要素に問題の可能性を示す赤い下線が表示される可能性があります。 これを防ぐには、以下のいずれかを行います。
- 構文エラーの可能性をレポートしないよう IntelliSense を設定する。この回避策は、エラーの認識をグローバルに無効化することに注意してください。つまり、テスト スイートだけでなく、他のファイルのエラーも認識されなくなります。
テスト スイート内のコードを次のディレクティブで囲む。
#ifndef __INTELLISENSE__ //this code block will not be analyzed by IntelliSense #endif
コマンド ライン モードで C++test が起動しない場合
拡張機能や他の Visual Studio コンポーネントをインストールまたはアップデートすると、Visual Studio の Component Model Cache が壊れ、C++test が起動できなくなる場合があります。Component Model Cache を消去するため、cpptestcli
コマンドに -clearcmc
オプションを指定して実行してください。
C/C++test が静的解析時にタイムアウトをレポートする場合
解析が完了するよう、以下のいずれかを行ってください。
- 次のオプションを設定してタイムアウト上限値を増やします。
cpptest.analyzer.source.timeout=<TIMEOUT_IN_SECONDS>
「詳細オプションの設定」を参照してください。
- テスト コンフィギュレーションで時間がかかるルールまたはメトリクスを無効化します。コンソールに表示されるタイムアウト メッセージおよびレポートには、時間に関する情報が含まれています。
- Parasoft 製品サポートに問い合わせます。
C/C++test を新しいバージョンにアップグレードした後、一部のルールの抑制が DTP で無効になっている理由
新しいリリースでメッセージが変更されたルールに関連付けられた抑制は、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
C/C++test のレポートに正常に表示されない文字がある場合
Parasoft 製品が生成するレポートを表示するには、環境にサンセリフ フォントが必要です。各国語文字など、正常に表示されない文字がある場合、システムにサンセリフ フォントがインストールされているかを確認してください。
問題が発生した場合、C++test サポートにどんな情報を送信すればいいのか?
「サポート アーカイブの準備」を参照してください。