C/C++testユーザー様専用FAQ

ツールを使った静的・単体テスト 入門から実践までを体験! C/C++testハンズオンセミナー開催中!

Q-1.インストール関連

Q-2.プロジェクト関連

Q-3.静的解析

Q-4.フロー解析

Q-5.単体テスト

Q-6.実行時エラー検出

Q-7.コマンドラインからのテスト

Q-8.レポート

Q-9.クロス環境

Q-10.その他

Q-11.DTP

 

A-1.インストール関連

Q1-1 どのインストーラーでインストールすればよいのでしょうか?
ご利用のC/C++testバージョンと環境に合わせたインストーラーをご利用ください。なお、C/C++test 2020.2より、32bit版は非対応です。
 
【C/C++test 2021.2以降のバージョンをご利用の場合】
2021.2から、スタンドアロン版はzipのインストールパッケージを任意の場所に展開するだけでインストール可能です。
EclipseベースのIDEにプラグインする場合は、Eclipseプラグイン版をインストールしてください。
Visual StudioはVisual Studio プラグイン版のインストーラーをご利用ください。
  • Eclipse スタンドアロン版
  • Eclipse プラグイン版
  • Visual Studio プラグイン版
 
【C/C++test 2020.2以前のバージョンをご利用の場合】
●Windows環境
ご使用中のEclipseもしくはEclipseベースのIDEにプラグインする場合はEclipse プラグイン版をインストールしてください。
  • Eclipse スタンドアロン版
  • Eclipse プラグイン版
  • Visual Studio プラグイン版
 
●Linux環境
インストーラーは実行形式から圧縮された状態となっています。解凍した後、実行権限を付加してインストールを実行してください。
ご使用中のEclipseもしくはEclipseベースのIDEにプラグインする場合はEclipse 環境プラグイン版をインストールしてください。
  • Eclipse スタンドアロン版
  • Eclipse プラグイン版
 

Q1-2 日本語のマニュアルがインストールディレクトリに見当たりません。
最新のドキュメントはWebドキュメントにてご確認いただけます。

またPDF版は ユーザーページよりダウンロードいただけます。
 

Q1-3 各エディションの違いはなんですか?
C/C++test 10.x以降より上位のEditionにDTP Standardが付属されます。
次の表は、それぞれのエディションについて対応している機能を表で示したものです。 ※カバレッジアドバイザーは、C/C++test 2020.2からの機能です。
機能 Desktop Edition Engine Edition (Server Edition)
静的解析 ※1
フロー解析 ※1
ルール作成
単体テスト
カバレッジアドバイザー
アプリケーションモニタリング
クロス環境での動的解析
実行時メモリエラー検出
コマンドラインを使用したテストのバッチ処理
DTP Standard ※1
※2
 
※1 Engine EditionおよびDTP Standardはコンプライアンス パック(別売り)による拡張が可能です。
※2 DTP Standardのデータを参照することは可能です。
 
 

Q1-4 入力したライセンスが有効になりません。または、ライセンスが不正と表示されます。
次をご確認ください。
  • C/C++testを再起動し、C/C++testに表示されるマシンIDと、発行されたパスワードのマシンIDが一致していることをご確認ください。
  • 発行されたパスワードの製品名・バージョン番号が、インストールしている製品と一致していることをご確認ください。
  • 発行されたパスワードの有効期限が満了していないことをご確認ください。
  • 発行されたパスワードが正しく入力されていることをご確認ください。
  • パスワードは、英数字のみで【社名_128文字_128文字】です。改行文字や空白文字は含まれません。
  • システムの時計が戻された可能性があります。このマシンでは、ノードロックのいかなる評価ライセンスも使用できません。テクニカルサポートにお問い合わせください。
  • マシンIDが申請時と異なっていないかご確認ください。異なっている場合、Q1-7. マシンIDが変わってしまいライセンスが有効になりません。をご確認ください。
  • ごく稀に、ライセンスの一部が文字化けする現象が起きております。
    For Parasoft License Server or loading from local file:以降の文頭にC++という文字列が入ります。

    設定時にエラーがでるようでしたら、メーラーの自動改行削除をOFFにしてください。
 

Q1-5 【Linux環境】rootユーザーでC/C++testをインストール後に一般ユーザーでログインしC/C++testを起動したがエラーが発生してしまいます。
C/C++testのインストールディレクトリに書込み権限がないため発生している問題です。
Eclipseコンフィギュレーション/キャッシュデータなどの設定ファイルはインストールディレクトリに作成されます。
C/C++testの起動の際には読み込みや書き込みのために設定ファイルにアクセスしますが、rootユーザーでインストールした場合、アクセス権限がない一般ユーザーではC/C++test スタンドアロン版を起動できません。
( https://bugs.eclipse.org/bugs/show_bug.cgi?id=54919)
 
回避するには下記のいずれかの方法を行なってください。
  • インストールを一般ユーザーで行う。
  • Eclipseのコンフィギュレーションデータを $(HOME)/EclipseConfigData ディレクトリに保持する設定を行う。手順は次の通りです。
    • <INSTALL_DIR>/configuration/config.ini ファイルを開き、次の行を追加します(実際のディレクトリ名は異なる場合があります)。
      osgi.configuration.area=@user.home/EclipseConfigData
 

Q1-6 Visual Studio版のC/C++testのアップデートに失敗してインストールできません。
C/C++testの古いバージョンのアンインストール後にC/C++testの新しいバージョンをインストールをした場合に失敗することがあります。
この場合、レジストリに古い情報などが残っていることが原因である可能性があります。
コマンドラインから CLEAN_MAIN_VS_SUFFIXのオプションをつけてインストーラーを実行し、インストールしてください。
 
【具体例】C/C++test 2022.2のインストーラーにオプションをつけて実行する場合:

> parasoft_cpptest_2022.2.0_win32_vs.exe CLEAN_MAIN_VS_SUFFIX

 

Q1-7 マシンIDが変わってしまいライセンスが有効になりません。
C/C++testなどParasoft社製品では、マシンIDごとにライセンスキーを発行しておりますが、
外的な要因などにより、マシンIDが変更されてしまうことがございます。

機密情報のため詳細までは公開されておりませんが、
少なくともネットワークインターフェースの情報を利用して算出しております。

そのため、複数のネットワークインターフェースが存在する場合、
PCの起動の度に算出対象が変わってしまい、結果マシンIDが変わってしまうことがございます。
その場合、算出対象のネットワークインターフェースを指定することで、マシンIDを固定することが可能です。

あらかじめ次の操作により、PARASOFT_SUPPORT_NET_INTERFACES環境変数に
不変のネットワークインターフェースのMACアドレスを設定した上でライセンスの請求をお願いします。

なお、環境変数は常に有効になるように設定してください。
変化する恐れのある仮想・テンポラリ・ループバックインターフェースの値を使用しないでください。
 
【Windows環境】
Windowsのシステム環境変数、もしくはC/C++testを起動するバッチファイルの中で、PARASOFT_SUPPORT_NET_INTERFACES環境変数を設定します。
Windowsでは、PARASOFT_SUPPORT_NET_INTERFACES環境変数にネットワークカードのMACアドレスを設定してください。
ipconfig /allコマンド等でMACアドレスを確認できます。

設定例:
> set PARASOFT_SUPPORT_NET_INTERFACES=12-34-56-78-9A-BC

 
【Linux環境】
.bachrcなどでPARASOFT_SUPPORT_NET_INTERFACES環境変数を設定します。
Linuxでは、PARASOFT_SUPPORT_NET_INTERFACES環境変数に”inet”または、”inet6”ファミリーのネットワークインターフェースを1つ設定してください。
ifconfigコマンド等でネットワークインターフェース名を確認できます。

設定例:
> export PARASOFT_SUPPORT_NET_INTERFACES=eth1

 
ライセンスを請求済みでマシンIDが変わってしまった場合も、この操作でマシンIDが請求時のものに戻るかご確認ください。
もし戻らない場合は、変更されたマシンIDで固定されていることになりますので、そのマシンIDでマシン変更のお手続きをお願いします。
 
【DTP】
DTPのマシンID固定化の手順は以下となります。
【Windows環境】
DTPのサービスが起動している場合、サービスを停止し、C/C++testと同様にWindowsのシステム環境変数にPARASOFT_SUPPORT_NET_INTERFACES環境変数を設定します。

設定例:
> set PARASOFT_SUPPORT_NET_INTERFACES=12-34-56-78-9A-BC

 
【Linux環境】
Ver.5.4まで: $HOME/.pstrc_<hostname>
Ver.2020.2以降の場合: <DTPインストールディレクトリ>/dtp/bin/.pstrc
ファイル内に以下の記述を追加します。
※.bashrcだとターミナル起動時に反映されるため、自動でサービス起動しているDTPでも有効になるようDTPの設定ファイルに記載してください。

【設定例】
> export PARASOFT_SUPPORT_NET_INTERFACES=eth1

 

Q1-8 Visual StudioにC/C++testをプラグインできません。
C/C++test for Visual Studioでは .NET Framework 3.x が必要となっております。
Visual Studioのプラグイン版は、.NET Framework 3.x をインストールの上ご利用ください。
 

Q1-9 C/C++testで適応すべきパッチなどはありますか?
バージョンごとに ユーザーページからパッチをダウンロードしてください。
適用方法はパッチ内の “about_this_patch.txt” ファイルをご参照ください。
 

A-2.プロジェクト関連

Q2-1 C/C++testではどのようにプロジェクトを作成すればいいですか?
ユーザーページの技術資料にて汎用的な手順をご案内しております。下記をご参照ください。
 
評価版をご利用の場合は、 お問い合わせ先へお問い合わせください。
 

Q2-2 ビルドに失敗してテスト(静的解析、フロー解析、単体テスト)が実行できません。
C/C++testのビルド設定をご確認ください。  
C/C++testの解析やテストは、[ビルド設定]に従ってテスト対象をビルドします。
 
    【Eclipse版の場合】
  1. [ナビゲーター]ビュー、または、[C/C++プロジェクト]ビューからテスト対象プロジェクトを選択します。
  2. 右クリックし、[プロパティ]を選択します。
  3. [プロパティ]画面左のツリーから[Parasoft] > [C/C++test] > [ビルド設定]を選択します。
  4. ビルド設定に、ご使用のビルド環境に即した設定がされているかご確認ください。
 
    【Visual Studio版の場合】
  1. [ソリューションエクスプローラ]ビューからテスト対象プロジェクトを選択します。
  2. 右クリック[Parasoft] > [プロパティ]を選択します。
  3. [プロパティ]画面左のツリーから[Parasoft] > [C/C++test] > [ビルド設定]を選択します。
  4. ビルド設定に、ご使用のビルド環境に即した設定がされているかご確認ください。
 

Q2-3 プロジェクトで使用しているソースファイルの拡張子が大文字.Cだと解析に失敗します。
ソースファイルの拡張子が大文字.Cの場合、C/C++testはC++言語と認識します。回避方法は以下の2つの方法があります。  

Q2-4 サポートされていないコンパイラで解析はできますか?
ご利用されるコンパイラがC/C++testでサポートしているコンパイラをベースにしているコンパイラである場合は、カスタムコンパイラを作成して頂き、解析が可能になる場合がございます。
ただし、ベースとなるコンパイラが有していないオプションや機能については解析ができずにパースエラーなどが発生します。
 
カスタムコンパイラとは、C/C++testの解析を行なうためのコンパイラの設定になります。
カスタムコンパイラについては、マニュアルの次の章をご確認ください。
[クロス プラットフォームと組込みテスト] > [カスタム コンパイラを使用するテストの設定]

カスタムコンパイラの詳細につきましては、 テクニカルサポートまでお問い合わせください。
 
パースエラーが発生する場合は、テストコンフィギュレーションの[コードのパースの問題:]の設定を 「無視」にして頂く事である程度の静的解析を行うことができます。
[コードのパースの問題:]の設定の仕方については Q3-4. パースエラーが発生するファイルを静的解析できますか?をご参照ください。
 

Q2-5 BDFが作成できません
  • コンパイラのパスは通っていますか。
    環境変数PATHにコンパイラまでのパスを通し、再度ご確認をお願いいたします。
  • 出力先のディレクトリは存在していますか。
    存在していない場合、ディレクトリを作成の上、再度ご確認をお願いいたします。
  • CPPTEST_SCAN_TRACE_COMMANDの環境変数が設定されていますか。
    コンパイラによっては、本環境変数が設定されていないとコンパイラを認識できないケースがございます。
  • 例:(arm-none-eabi-gccの場合):

    > set CPPTEST_SCAN_TRACE_COMMAND=arm-none-eabi-gcc

 

Q2-6 テストコンフィギュレーションをインポート/エクスポートしたい。
以下の手順で行えます。
 
  1. C/C++testのメニューより、[Parasoft] > [テストコンフィギュレーション]を選択します。
  2. ご利用中のテストコンフィギュレーション右クリックし、[インポート/エクスポート]を選択します。
  3. インポート/エクスポート先のディレクトリを指定し、インポート/エクスポートします。
  4. エクスポートの場合は、*.propertiesファイルが出力されていることを確認します。
 

A-3.静的解析

Q3-1 静的解析が実行できません。
以下の点をご確認ください。
 
  1. [テスト進捗]ビューに「セットアップの問題」と表示された場合は、コンソールに出力された内容をご確認ください。コンソールの出力情報を変更する場合は、Q10-4. エラーの内容を詳しく知りたいのですが、どこを参照すればよいですか?を参考にしてください。
  2. パス(フォルダ名、ファイル名、プロジェクト名、インクルードディレクトリ、ワークスペースディレクトリ)に日本語が含まれていると解析に失敗する、もしくはエラーが検出されない場合があります。詳細につきましては、Q10-3. パス(フォルダ名、ファイル名、プロジェクト名、インクルードディレクトリ)に日本語が入るとテストできません。 を参照してください。
  3. C/C++testの実行時に「Out of memory error」のエラーが発生している可能性があります。Q10-5. OutOfMemoryErrorが発生します。を参照してください。
  4. コンソールの出力を確認してください。
    Windows上でCygwinを使用している場合、次のようなエラーが発生することがあります。
    > Error preprocessing file "C:¥DOCUME~1¥Administrator¥LOCALS~1¥Temp¥Par4D.tmp.c"
    Cannot launch process: gcc -O0 -fmessage-length=0 -DPARASOFT_CPPTEST ...
    指定されたファイルが見つかりません。

    C/C++testで使用するコンパイラの環境変数 ($PATH や $LD_LIBRARY_PATH 等) が正しく設定されていないためにエラーが発生している可能性があります。
    C/C++testを起動するシェル等で環境変数を設定し、C/C++testを再起動してください。
  5. コンソールの出力に"そのようなファイルやディレクトリはありません"とエラーが表示される場合、次の2点が原因として考えられます。
    インクルードディレクトリが指定されていない場合、もしくは、解析の言語が切り替わっている場合。

○インクルードディレクトリが指定されていない場合
プロジェクトのプロパティ画面を開きます。

【Eclipse版の場合】
プロジェクトを右クリックで選択し、[プロパティ]を選択します。

【Visual Studio版の場合】
プロジェクトを右クリックで選択し、[C/C++test] > [プロパティ]を選択します。

[ビルド設定]の[コンパイラオプション]にインクルードディレクトリを設定します。
インクルードディレクトリの設定はコンパイラに合った適切なオプションで指定してください。
具体例はGCCコンパイラでの指定となります。
-I <インクルードディレクトリへのパス>
 
○解析の言語が切り替わっている場合
一例として、拡張子が.cのソースファイルにおいて #include 9 map: のようにC++言語での記述をされている場合などのとき発生します。
これはC/C++testが拡張子によって記述言語を区別しているためです。
 
【Eclipse版の場合】
ファイルを右クリック、[プロパティ]を選択してプロパティ画面を開きます。
[ビルド設定]の[オプション] > [コンパイラオプション]に言語設定用のオプションを設定します。
オプションはコンパイラに合った適切なものを指定してください。具体例はGCCコンパイラでの指定となります。
-xc :ソースファイルをC言語として関連付けます
-xc++:ソースファイルをC++言語として関連付けます

 
【Visual Studio版の場合】
ファイルを右クリック、[C/C++test] > [プロパティ]を選択してプロパティ画面を開きます。
[ビルド設定]の[オプション] > [コンパイラオプション]に言語設定用のオプションを設定します。
-Tc :ソースファイルをC言語として関連付けます
-Tp :ソースファイルをC++言語として関連付けます

 
【Eclipse版の場合(全てのファイルの関連付け)】
Eclipseでは全てのファイルの言語と拡張子の関連付けを設定することができます。
  1. プロジェクトを右クリック、[プロパティ]を選択してプロパティ画面を開きます。
  2. [C++ 一般] > [ファイル・タイプ]を選択します。
  3. [プロジェクト設定の使用]にチェックを入れ、新規ボタンを押下して関連付けを行います。
    例:拡張子.CファイルをC言語のソースファイルとする。
    パターン:*.C
    型:Cソースファイル

 

Q3-2 【Windows環境】静的解析が実行できません。
Windowsではユーザーアカウント制御(UAC)が原因で、バッチファイルからC/C++testを起動した場合にバッチファイル内で登録した環境変数の情報が取得できなく、解析が実行できない場合がございます。
UACはシステムの設定が変更されないようにユーザーの権限を制限します。
管理者権限を持っている場合でもC/C++testおよびC/C++test起動用のバッチを管理者承認モードで実行する必要があります。
管理者承認モードでC/C++testをバッチから起動するには次の方法をお試しください。
 
  1. cpptest.exeまたはC/C++testのショートカットを右クリックで選択し、[プロパティ]を選択します。
  2. プロパティ画面の[互換性]タブ > [特権レベル]の[管理者としてこのプログラムを実行する]にチェックを付けます。
  3. C/C++testをコマンドラインから起動するバッチファイルを右クリックで選択し、[プロパティ]を選択します。
  4. 2.同様に[管理者としてこのプログラムを実行する]にチェックを付けます。
  5. 設定の完了後、バッチファイルを実行してC/C++testを起動してください。
 
セキュリティ上の問題などで管理者承認モードを実行することができない場合は直接システムに環境変数を登録する方法をお試しください。

  1. 画面左下の(スタートボタン)を右クリックし、表示された「クイック リンク」メニューから[システム]をクリックします。
    ※キーボードの【Windows】キー+【X】キーを押すと同様のメニューが表示されます。
  2. 設定画面の右側の欄から[システムの詳細設定]を選択します。
  3. システムのプロパティ画面から[詳細設定] > [環境変数]を選択します。
  4. 環境変数の画面から[システム環境変数]、または[ユーザー環境変数]に環境変数を設定します。
  5. [変数]の欄から[PATH]を選択し、[編集]を押下します。
  6. [新規]ボタンをクリックし、パスを追加し[OK]をクリックします。
  7. 【具体例】C:¥cygwin¥binにインストールされているコンパイラのパスを通す場合:

     > C:¥cygwin¥bin

  8. [OK]を押下して設定を保存します。
 

Q3-3 メトリクスルールの閾値を変えたい。
テストコンフィギュレーション画面の[静的]タブ > [ルールツリー]タブ > [メトリクス]カテゴリのルールはRuleWizardを用いて変更が可能です。
変更方法はルールウィザードのドキュメントの “[参照] > [式と正規表現]” をご参考ください。RuleWizardの使い方についてのご質問は テクニカルサポートへご連絡ください。
評価版をご利用の場合は、 お問い合わせ先へご連絡ください。
 

Q3-4 パースエラーが発生するファイルを静的解析できますか?
はい、静的解析を行うことができます。
デフォルトの設定では、テストコンフィギュレーションの[コードのパースの問題:]の設定が 「無視」となっているため、パースエラーの発生する箇所をスキップして解析します。
ただし、パースエラーとなるファイルに対しては構文が正しく解釈できていないため、正常な結果が得られない場合もあります。
そのため、パースエラーが発生したファイルを 「エラー」として認識させることを推奨しております。  
以下の手順で設定できます。
  1. メニューより[Parasoft] > [テストコンフィギュレーション]を選択します。
  2. 設定を行うテストコンフィギュレーションを選択します。
  3. [静的]タブを選択し、[コードのパースの問題:]を[エラー]に設定してください。
 

Q3-5 フロー解析やコーディングルールチェックのルールにある重要度の違いは何ですか?
フロー解析やコーディングルールチェックのルールは重要度レベルによってグループ分けされています。
重要度レベルは、重大な構造上の欠陥を引き起こす可能性の程度を表します。
重大な構造上の欠陥とは、パフォーマンスの低下、メモリリーク、セキュリティの脆弱性などのアプリケーションの問題を引き起こす構造のことです。
  • 重要度レベル1:ソフトウェアが問題を引き起こす可能性がもっとも高い。メモリリークの問題など、主にフロー解析のルールが含まれる。
  • 重要度レベル2:信頼性などに関して重大な違反がある可能性がある。セキュリティの脆弱性など、主にセキュリティカテゴリのルールが含まれる。
  • 重要度レベル3~5:問題を引き起こす可能性は中~低程度である。主に保守性や可読性に関連する軽度の違反で、コーディングミスを防ぐルールや命名規則に関するルールなどが多く含まれる。
 
重要度レベル1のルールはソフトウェアのバグの可能性があるため、必ずレビュー・修正を行っていただくことを推奨します。
重要度レベル2のルールはバグや問題に直結することはあまりありませんが、単体テストや結合テスト時に不要に工数を使用する可能性があります。
重要度レベル3から5のルールはバグや問題に直結する指摘は少ないですが、ルールを守ることによって、問題となりやすいコードの書き方が指摘されてバグの防止に繋がったり、命名規則を整えることで読みやすくするなどの保守性や可読性を高める効果が期待できます。

A-4.フロー解析

Q4-1 フロー解析が実行できません。
原因と対処について、 Q3-1. 静的解析が実行できません。をご確認ください。
 

Q4-2 【Windows環境】フロー解析が実行できません。
原因と対処について、 Q3-2. 【Windows環境】静的解析が実行できません。 をご確認ください。
 

Q4-3 フロー解析の解析に時間がかかります。早く解析する方法はありませんか?
インクリメンタル解析でキャッシュ情報を利用することで解析時間の短縮が見込めます。
最初の解析ではキャッシュ情報の保存のため通常よりも時間がかかりますが、以降の解析では解析時間が短縮されます。
以下の手順で設定を行えます。
 
  1. メニューから[Parasoft] > [テストコンフィギュレーション]を選択してテストコンフィギュレーション画面を開きます。
  2. フロー解析を実行するユーザー定義のテストコンフィギュレーションを選択します。 ビルトインのフロー解析を使用している場合は使用しているフロー解析のテストコンフィギュレーションを右クリックして[複製]を実行してユーザー定義に複製してください。
  3. 画面右側から[静的」タブ > [フロー解析詳細設定] > [パフォーマンス]を選択します。
  4. [インクリメンタル解析を有効化]のオプションにチェックを付けて有効にします。
  5.  

Q4-4 フロー解析の解析に時間がかかります。解析に使用するメモリを増やすことはできますか?
C/C++testの静的解析エンジンが使用するJVMのヒープサイズを増やすことで、フロー解析の解析速度が向上する可能性があります。
以下の手順で設定を行えます。
 
  1. メニューから[Parasoft] > [設定]を選択して設定ダイアログ画面を開きます。
  2. ツリーより[Parasoft] > [テクニカル サポート]を選択します。
  3. 画面右側から[拡張オプション」のチェックを有効にして、以下のようにJVMサイズを指定します。
    設定できる最大サイズは、お使いのマシンによって異なります。
    【具体例】

    CPPTEST_ENGINE_EXTRA_ARGS="-J-Xmx4096m"
  4. コマンドラインからの実行の場合は、J接頭辞を付けた Java プロパティとしてオプションを使用して cpptestcli に設定を渡します。
  5. コマンド実行例:

    > cpptestcli.exe -J-DCPPTEST_ENGINE_EXTRA_ARGS="-J-Xmx4096m <その他オプション>" 

 

A-5.単体テスト

Q5-1 単体テストが実行できません。
原因と対処について、 Q3-1. 静的解析が実行できません。をご確認ください。
 

Q5-2 【Windows環境】単体テストが実行できません。
原因と対処について、 Q3-2. 【Windows環境】静的解析が実行できません。 をご確認ください。
 

Q5-3 単体テストを実行したらエラーになり、テスト結果が表示されません。
各種エラー内容によって対応が変わります。 テクニカルサポートへご連絡ください。
評価版をご利用の場合は、 お問い合わせ先へご連絡ください。
 

Q5-4 C/C++testではどのようなカバレッジを収集できますか?
C/C++testが収集可能なカバレッジの種類は以下の9種類です。
 
  • 行カバレッジ
  • ステートメントカバレッジ(C0:命令網羅率)
  • ブロックカバレッジ
  • パスカバレッジ
  • 判断文カバレッジ(C1:分岐網羅率)
  • 単純条件カバレッジ(C2:条件網羅率)
  • Modified Condition/Decision Coverage (MC/DC)カバレッジ
  • 関数カバレッジ
  • コールカバレッジ
 
ビルトインの[Run Unit Tests]は行カバレッジのみを収集する設定になっています。
次の設定を変更してお使いください。
 
  1. ユーザー定義のテストコンフィギュレーションを作成します。
  2. [実行] > [全般]タブを選択します。
  3. [インストゥルメントモード]を「カスタムインストゥルメント」に変更します。
  4. [編集]ボタンを選択し、[インストゥルメントの機能]で必要な「カバレッジメトリクス」を設定します。
 

Q5-5 ファイルやデータベースに単体テスト用に用意したテストデータがある場合、これを使用できますか?
テストで使われる関数の入出力値やグローバル変数などのデータが記載されているCSVファイルやExcelファイル、データベースのテーブルはデータソースとしてC/C++testに登録することで単体テストに利用することができます。
データソースの登録の手順は Q5-6.事前に作成したCSVファイルなどのテストデータはどのようにしてC/C++testに登録するのですか?をご参照ください。
 

Q5-6 事前に作成したCSVファイルなどのテストデータはどのようにしてC/C++testに登録するのですか?
以下の手順でテストデータのファイルをデータソースに登録することができます。
 
  1. プロジェクト内の任意のディレクトリにデータソースのファイルを保存します。
  2. [テストケースエクスプローラー]ビュー上でデータソースを登録したいプロジェクト、またはテストスイートを選択して右クリック[新規追加] > [データソース]を選択します。
  3. 表示される新規プロジェクトデータソース画面から登録したいデータソースの形式(CSV / Excel / データベース / テーブル / 集合)を指定し、[終了]ボタンを押下します。
  4. 表示されるデータソースの設定画面にデータソースの情報を設定します。
    • [全般]:登録するデータソース名とデータソースの形式を指定します。
    • [行]:テストデータとして有効な範囲としてすべての行とするか範囲を指定するか選択します。
    • [CSV / Excel / 接続パラメーター / テーブル / 集合]:データソースを読み取るための設定を行います。ファイルへのパスの指定やデータソースの1行目にカラム名を含むか否かなどの設定を行います。
    • [特殊な値]:接頭辞がある場合はリストから選択し、ない場合は入力して指定します。
    • [列]:最後に[列の表示]ボタンを押下してデータソースに記載されている列名、カラム名が取れることを確認します。ボタンを押下することで設定が保存されます。
 
以上でデータソースがプロジェクト、またはテストスイートに対して登録されます。プロジェクトに登録されたデータソースはプロジェクト全体で使用することができ、テストスイートに登録されたデータソースは登録したテストスイートでのみ使用することができます。
 

Q5-7 データソースから値を取得する関数やアサーション関数の一覧はどこにありますか?
C/C++testで使用できるAPIについては、ユーザーズガイドの次の章にございます。 
[C/C++test API ドキュメント] > [テストケースとスタブのAPI]
 

Q5-8 スタブを作成したのですが、スタブを呼び出すことができません。
下記2点をご確認ください。
 
  1. 作成したスタブファイルが、使用しているテストコンフィギュレーションに設定されているかご確認ください。
    1. メニュー[Parasoft] > [テストコンフィギュレーション]を選択します。
    2. 使用しているテストコンフィギュレーションを選択します。
    3. [実行] > [シンボル]タブを選択します。
    4. [次の場所で発見されたファイルのシンボルも使用]にスタブファイルのあるディレクトリが設定されているかをご確認ください。
  2. C/C++testではシンボルは4種類に分けられ、そのうちC/C++testのスタブは3種類にあたります。
    C/C++testでは、テストで呼び出されるシンボルに優先順位があります。
    自動生成スタブが使用されるのは、他の定義 (ユーザー定義スタブまたはオリジナル関数) が使用できない場合だけです。
    シンボルの呼び出し優先順位は以下の通りです。
     
    ユーザー定義スタブ > セーフスタブ > オリジナル関数 > 自動生成スタブ
  • 自動生成スタブ・・・接頭語は「CppTest_Auto_Stub_」になります。他の定義がない場合に使用されます。
  • ユーザー定義スタブ・・・接頭語は「CppTest_Stub_」になります。
  • セーフスタブ・・・rmdir()、remove()、rename() などのシステムI/Oルーチンを「危険な関数」としてC/C++testの内部で定義して置き換えます。
 

Q5-9 fopenなどのファイルI/Oを行う関数の場合、テストケースが失敗(Failed)します。
どうやったらテストケースを成功(Passed)させることができますか?
C/C++testでは、セーフスタブが定義されております。
セーフスタブの詳細については C/C++testユーザーズガイドの次の章をご確認ください。
[使用方法] > [テストの生成と実行] > [テストスイートの拡張と変更] > [スタブの追加と変更] > [自動生成されたセーフ スタブ定義の無効化]
 
このセーフスタブを無効にすることでfopenなどのオリジナルの関数を使用することができます。
 
  1. [Run Unit Tests]のテストコンフィギュレーションを開きます。
  2. [実行] > [シンボル]のタブを選択します。
  3. [次の場所で発見されたファイルのシンボルも使用]の次の内容を消します。
${cpptest:cfg_dir}/safestubs
 

Q5-10 テストケースの作成担当者毎に同名のテストスイートが作成される場合、テストスイートをどのようにマージすればよいですか?
C/C++test自体にはファイルのマージを補佐する機能はない為、外部ツール(構成管理)をご活用ください。
また、コーディングするなど自由にカスタマイズすることが可能なため、下記のような方法でマージいただくことが可能です。
 
テストスイートに含まれるテストケースをマージすることで複数のテストスイートを一つのテストスイートにまとめることができます。
手動によるマージとEclipse環境に限りGUIの機能を利用してのマージの2つの方法がございます。
 
【手動によるマージ】
 テストスイートに含まれるテストケースに関連する次の3ヶ所の記述をマージ対象のテストスイートに追加します。
 プロジェクトA1のテストスイートにプロジェクトA2のテストケースをマージしたい場合、プロジェクトA2のテストスイートの次の3ヶ所の記述をプロジェクトA1のテストスイートにコピー&ペーストします。
  • テストケースの登録セクション : CPPTEST_TEST_SUITE(<テストスイート名>); から CPPTEST_TEST_SUITE_END(): の間にある記述
  • テストケースの宣言セクション : テストケースのプロトタイプ宣言の記述
  • テストケースの定義セクション : テストコードが記述されたテストケース自体の記述
 
【Eclipse環境でのGUI機能を利用したマージ】
 [テストケースエクスプローラー]ビューにてテストケースをコピーし、テストスイートに貼り付けることでテストケースを完全に移行することができます。
 例としてプロジェクトAのテストケースをマージする手順を記載します。
 
  1. プロジェクトAのプロジェクト名を一旦変更します。ここではプロジェクトA1とします。
  2. マージしたいテストケースを持つプロジェクトAをインポートします。このプロジェクトを仮にプロジェクトA2とします。同じワークスペース上に同じワークスペース上にプロジェクトA1とプロジェクトA2の両方が存在する状態となり、マージしたい2つテストケースを[テストケースエクスプローラー]ビュー上でどちらも参照することができます。
  3. マージしたいテストケースを[テストケースエクスプローラー]ビュー上で右クリックして[コピー]します。
  4. マージしたいテストスイートを選択して右クリック[貼り付け]を実行します。
 
なお、テストスイートの生成の標準設定であるソースファイルやヘッダーファイル単位での生成が原因で、テストケースの作成担当者毎に同名のテストスイートが作成されます。生成の設定を関数単位でテストスイートを生成していただくことでテストスイートのファイル名がそれぞれ別になるため、上記のようなマージの必要がなくなります。その分、テストケースを効率的に管理しやすくなります。 
 

Q5-11 Cygwin GCCを用いたEclipse環境で単体テストのデバッグができません。
テストコンフィギュレーションの[実行]タブ>[実行時]タブにある[デバッガーでテストを実行する]オプションを有効にし、[コンフィギュレーションを使って直接Eclipse IDEでデバッグする]オプションを無効にしている場合、Cygwinの環境ではGNU gdbデバッガを使用してデバッグを行います。

gdb 7.3のバージョンはgdbの不具合によりC/C++testではデバッグ実行を行うことができません。gdb 7.3を使用している場合、バージョンを変更していただくことで問題を回避することができます。
 

Q5-12 スタブファイルで変数や型、マクロなどについて定義が見つからないというコンパイルエラー(identifier "XXX" is undefined)が発生する場合、どうすれば解決できますか?
スタブファイルにおいて変数や型、マクロについて定義しているインクルードファイルが足りていない場合があります。この場合定義を参照できないため、変数や型、マクロが未定義であるとしてコンパイルエラーが発生します。解決するには、スタブファイルから定義を参照できるようにスタブファイルに#includeディレクティブでインクルードするファイルを追加してください。
 
  1. テスト対象のソースファイルのヘッダインクルードのコードをすべてコピーします。
  2. スタブファイルを開きます。
    対象ファイルが自動生成スタブの場合、以下のファイルのパスになります:
  3. <プロジェクトディレクトリ>\stubs\autogenerated\auto_<ランダム値>.c
  4. テスト対象のソースファイルのヘッダインクルードと同様になるようにスタブファイルのヘッダインクルードを変更します。
  5. 変更内容を保存します。
 

Q5-13 登録したデータソースの移行を簡単に行う方法はありませんか?
次の設定を行うことでデータソースの登録情報を直接テストスイートファイルと1対1で関連付けられる設定ファイルにエクスポートすることができます。
この設定ファイルをテストスイートファイルと同じディレクトリにコピーすることでデータソースの登録情報を簡単に関連付けられます。
 
【Eclipse版の場合】
  1. [ナビゲーター]ビュー、または、[プロジェクトエクスプローラー]ビューからプロジェクトを選択します。
  2. 右クリックして[プロパティ]を選択します。
 
【Visual Studio版の場合】
  1. [ソリューションエクスプローラ]ビューからプロジェクトを選択します。
  2. 右クリックして[Parasoft] > [プロパティ]を選択します。
  3.  
  4. [プロパティ]画面左のツリーから[Parasoft] > [C/C++test] > [データソース]を選択します。
  5. [ポータブルデータソースストレージを使用]チェックボックスにチェックを付けます。
  6. [適用]ボタンを押下して設定を保存し、[OK]ボタンを押下して設定を完了します。
  7. データソースを使用するテストケースを含むテストスイートファイルと同じディレクトリに "テストスイートファイル名".properties ファイルが生成されます。
  8. データソースを利用したい移行先であるテストスイートファイルと同じディレクトリに手順6.で生成されたファイルをコピーします。
  9. 移行先のプロジェクトで手順1.から手順5.までの設定を行います。
  10. データソースの移行が完了します。
 

Q5-14 C/C++testのマクロにはどんなものがありますか?
C/C++testには以下の種類のマクロがあります。テストスイート/テストケースの登録マクロ以外はテストケース内とスタブ内のどちらでも使用することができます。
実際に使用可能なマクロにつきましては C/C++testユーザーズガイドの次の章をご確認ください。
[C/C++test API ドキュメント]

 
  • テストスイート/テストケースの登録マクロ
    テストスイートおよびそれに含まれるテストケースの登録に使用できるマクロです。
  • データソースマクロ
    CPPTEST_TEST_DS()マクロで登録されたデータソースを使用するテストケースで使用できるマクロです。
  • C/C++testストリームAPI
    テストケース実行時に stdin / stdout / stderr をリダイレクトできます。
  • 型限界値関数
    数値型の限界値を取得できます。自動生成されたテストケースで使用されます。
  • テストケース事後条件マクロ
    テスト結果の実際の値をレポートするために使用できます。レポートは[品質タスク]ビューで自動的にアサーションに変更できます。
  • テストケース検証マクロ
    指定された値や変数の実際の値を期待する値と検証するために使用できます。
  • テストケースレポートマクロ
    指定された値や変数の実際の値を生成されるレポートに出力することができます。
  • リアルタイムシステムでの応答時間を測定および検証するマクロ
    リアルタイムシステムで応答時間を測定および検証するには次のマクロを使用します。
    カバレッジを計測するコードなどをインストゥルメントしない(埋め込まない)テストと組み合わせることでリアルタイム性を検証することができます。
  • ユーティリティマクロと関数
    テストケース内で使用できるC/C++testランタイムライブラリのユーティリティマクロと関数です。
  • テストケースから起動されるスタブ用の関数
    スタブ内で使用することで現在実行されているテストケースの情報を取得することができるマクロです。
    このマクロを利用することで、テストケースやテストスイートに合わせてスタブの処理を分けることもできます。
 

Q5-15 CppUnitのテストケースをC/C++testでテストするにはどうすればよいですか?
C/C++testではCppUnitのテストケースを実行してテストを実施し、カバレッジを計測することができます。
CppUnitテストケースへのアクセス方法や要件・制限事項に関して詳細がユーザーズガイドの次の章にございます。
[使用方法] > [テストの作成と実行] > [テストスイートの拡張と変更] > [手動で作成された既存のCppUnitテストケースの実行]

 
以下にCppUnitをテストするために必要な事項を手順としてまとめます。
 
  1. プロジェクト内にCppUnitテストケースのソースファイルがあることを確認します。
    【Eclipse版の場合】
    [ナビゲーター]ビューや[C/C++ プロジェクト]ビューなどからプロジェクト内にCppUnitテストケースのソースファイルが見えれば大丈夫です。
    プロジェクトのディレクトリ以下にCppUnitのテストケースを格納したくない場合、Eclipseの”リンクフォルダ”の機能でプロジェクト外のディレクトリにリンクさせることで対応できます。
    1-1. [ファイル]メニューの[新規]>[その他]を選択します。
    1-2. [一般]の[フォルダー]を選択して[次へ]ボタンを押下します。
    1-3. [拡張]ボタンを押下します。
    1-4. [代替ロケーションにリンク(リンクされたフォルダー)]ラジオボタンを有効にします。
    1-5. リンクするプロジェクト外部のディレクトリを指定します。
    1-6. [終了]ボタンを押下します。
     
    【Visual Studio版の場合】
    [ソリューションエクスプローラー]ビューからプロジェクト内にCppUnitテストケースのソースファイルが見えれば大丈夫です。
  2.  
  3. [Parasoft]メニューの[テストコンフィギュレーション]を選択します。
  4. CppUnitのテストケースを実行するテストコンフィギュレーションを選択します。
    ユーザー定義のテストコンフィギュレーションが無い場合は、
    [ビルトイン]>[Unit Testing]>[Run Unit Tests]を選択して右クリック、[複製]を選択します。
  5. [実行]タブ>[全般]タブを選択します。
  6. [単体テストの設定]>[テストスイートファイルの場所のパターン]欄にCppUnitテストケースのソースファイルのあるディレクトリのパスを指定します。
  7. [適用]ボタンを押下して設定を保存します。
 

Q5-16 テストを複数回実施したカバレッジのログをマージすることはできますか?マージした結果をレポートに出力することはできますか?
可能です。テスト結果のログファイル(cpptest_results.tlog)とカバレッジのログファイル(cpptest_results.clog)はログ情報を指定のファイルに追記する形式として生成されます。毎回のテストの実行において、2つのログファイルを削除しないことでカバレッジ・テスト結果のログを自動的にマージすることができます。レポートにもマージした結果が出力されます。
 
手順書とサンプルのテストコンフィギュレーションを準備しておりますので、 ユーザーページの技術資料よりWebページをご参照ください。
資料名:テスト結果のマージ
評価版をご利用の場合は、 お問い合わせ先へとお問い合わせください
 

Q5-17 データソースでdefineで定義されたマクロ名やenumの識別子を使用する方法はありますか?
データソースでdefineで定義されたマクロ名やenum識別子を使用するためのスクリプトの準備があります。
ご興味のある方は テクニカルサポートまでお問い合わせください。
なお、環境によって提供します内容が異なりますので、お問い合わせの際は以下の情報を含めるようにお願い致します。
 
(1)C/C++testのバージョン
(2)OSとそのバージョン
(3)コンパイラとそのバージョン
(4)開発環境(IDE)とそのバージョン
 

Q5-18 作成したスタブファイルでエラーが発生しましたが何が原因でしょうか?
インクルードしているファイルが足りないか、順番が適切でないことが原因の可能性がございます。作成したスタブファイルがデフォルトのままでは、全てのヘッダファイルが適切な順番でインクルードされない場合がございます。そのため、お手数をおかけしますが、手動でスタブ関数のオリジナル関数が定義されたファイルでインクルードしているヘッダファイルを追加してください。
 

Q5-19 無限ループのある関数をテストする方法はありますか?
無限ループのある関数をテストするためのマクロが用意されております。
マニュアルには「無限ループがある関数/ メソッドのテスト」の項目に記載があります。
無限ループの関数をテストするためのサンプルプロジェクトが ユーザーページの技術資料「無限ループのある関数のテスト」からご参照いただけます。
本プロジェクトでは、以前のバージョンのマニュアルしか持っていない方でも使えるようにマクロの説明と使い方の例をご案内しております。
評価版をご利用の場合は、 お問い合わせ先へとお問い合わせください
 

Q5-20 テンプレート関数のテストケースやスタブを作成することはできますか?
テンプレート関数はデータ型が未定の場合、そのままではテストケースやスタブを作成することはできません。
関数テンプレートが特殊化されていれば、データ型を確定できるためテストケースやスタブを作成することができます。

もし、テストのために特殊化した実装を使用しても良い場合、 PARASOFT_CPPTESTというC/C++test実行時のみ有効になるパラメーターを使用することをご検討ください。
【具体例】

template int getVal(X);
#ifdef PARASOFT_CPPTEST
template <> int getVal (int val) { // 引数 intで特殊化
   return 0;
}
#endif

 
上記のように #ifdef-#endifで囲み、 PARASOFT_CPPTESTが無効な場合は開発ビルド時に影響を与えずに関数テンプレートを特殊化することで、C/C++testでテストケースやスタブ作成が可能になります。
 
なお、テンプレート関数でも以下のケースは制限事項によりスタブ化は不可となります。
  • 関数の引数がデータ型ではなくテンプレート型(このケースは型の特殊化をすることでテストケース作成は可能です)
  • STLメソッド

なお、C/C++ 2022.2よりスタブ化の機能改善が行われ、完全特殊化せずにスタブ候補の算出およびスタブ生成が可能になりました。
以下の手順にてテンプレート関数に対してのスタブ作成を有効化する設定を実施します。
 
Q5_20_1_画面ショット
  1. テスト コンフィギュレーションを開き、[実行] > [全般] タブに移動します。
  2. [実行の詳細] で、[インストゥルメント モード] の [編集] ボタンをクリックします。
  3. [スタブ] セクションで [C++ テンプレートのスタブを有効化] オプションをオンにします。
  4. テストコンフィギュレーションを実行すると、スタブを定義できるテンプレート関数がスタブビューに表示されます。
  5. スタブを作成するには、関数を右クリックして[ユーザー スタブの作成]を選択します。
なお、本機能には使用の制限がございます。詳細はユーザーズガイドの次の章にございます。
[C++ テンプレート関数のサポート]>[C++ テンプレートに対してスタブを使用する]

 

A-6.実行時エラー検出

Q6-1 フロー解析機能と、実行時エラー検出機能は何が違うのですか?
フロー解析は静的解析、実行時エラー検出は動的解析にカテゴライズされます。以下はそれぞれの機能の特徴を示した一覧表です。
  実行時エラー検出 フロー解析
収集可能な
カバレッジ
  • 行カバレッジ
  • ステートメントカバレッジ
  • 基本ブロックカバレッジ
  • パスカバレッジ
  • 判断文力カバレッジ
  • 単純条件カバレッジ
  • MC/DCカバレッジ
  • 関数カバレッジ
  • コールカバレッジ
  • 収集しない
テストの条件
  • 実行モジュールがあること。
    ただし単体テストモードは実行モジュールが無くても可。
  • クロスコンパイラの場合は、ビルドしたモジュールを動作させる実行環境(シミュレーターまたは実機)が必要
  • 特になし。
    どのフェーズでもテスト可。
検出の精度
  • 実行時の検出のため問題のあるエラーをほぼ100%検出。
  • 静的なパスチェックで発見できない複雑な処理で発生するエラーを発見する。
  • スレッドをまたがって発生するようなエラーを検出する。
  • バグの可能性を検出する。また、実行されない可能性があるパスも検出する。
  • 通常のアプリケーションの実行では見つからない例外などを検出することができる。
 

Q6-2 テストを複数回実施したカバレッジのログをマージすることはできますか? マージした結果をレポートに出力することはできますか?
はい、可能です。手順および設定の詳細については Q5-16. テストを複数回実施したカバレッジのログをマージすることはできますか? マージした結果をレポートに出力することはできますか?をご確認ください。
 

A-7.コマンドラインからのテスト

Q7-1 cpptestcliを使用してテストができません。
以下の3点をご確認下さい。
 
  1. cpptestcliコマンドが実行できない場合。
    C/C++testのインストールディレクトリへのパスを通してください。それでもうまくいかない場合は、2. を確認してください。
  2.  
  3. パスを正しく指定できない場合。

    【Windows版の場合】
    1. C/C++testは、Cygwinの“/cygdrive/DISK/PATH”書式を使って指定されたファイルパスをサポートしません。
      標準的なWindowsのパス書式を使用してください。
    2. シェル/コンソールによっては、ファイルパスのバックスラッシュを2つ重ねてエスケープする必要があります。
      【具体例】
      > C:¥¥MyLocation¥¥MyFile
    3. オプションを使ってローカル設定ファイルでファイルパスを使用する場合、ファイルパス中のすべてのバックスラッシュは2つ重ねてエスケープする必要があります。
      またはスラッシュを使用できます。
      【具体例】
      > C:/MyLocation/MyFile
     
    【Linux版の場合】
    “¥”はパスの区切り文字として使用できません。“/”で区切るようにしてください。
  4.  
  5. エラー:ワークスペースに存在しないコンフィギュレーション

    エラー: -config パラメーターは引数を 1 つだけ持たなければならない
    と表示される場合。
    ビルトインにはテストコンフィギュレーション名に空白を含むものがございます。
    テストコンフィギュレーションは空白を含む適切な形で指定してください。空白がある場合は、ダブルクォーテーションで括ってください。
    【具体例】

    > -config “builtin://Flow Analysis Standard”
 

Q7-2 コマンドライン(cpptestcli)からの実行のとき、GUIの「コンソール」タブ(Visual Studioの場合は「出力」)に表示されるエラー等の情報を確認できますか?
コマンドライン(cpptestcli)の実行の際、次のオプションを指定することで、詳細なメッセージを確認することができます。
-appconsole stdout
このオプションはC/C++testのコンソール出力(「コンソール」タブの情報)を標準出力にリダイレクトします。
-showdetails
また、こちらのオプションも合わせて追加しますとログに詳細なテスト進行状況の情報を表示することができます。

A-8.レポート

Q8-1 どんなレポート形式でレポート出力できますか?
C/C++test では、GUIまたはコマンドラインからテスト結果を、HTML、PDF、またはXSLによるカスタム形式でレポートを生成できます。
レポートの設定を行うには、メニューから[Parasoft] > [設定]を選択して設定画面を開き、[Parasoft] > [レポート]を選択したレポート画面で行います。
コマンドラインでGUIの設定を利用せずにレポートを生成する場合、ローカル設定ファイルを作成して -localsettingsオプションでローカル設定ファイルを指定します。
ローカル設定ファイルの詳細については C/C++testユーザーズガイドの次の章をご確認ください。
[セットアップとテストの基本事項] > [テストおよび解析の実行] > [コマンドラインインターフェイスからのテスト] > [ローカル設定ファイル (オプションファイル)]

 
なお、カスタムXSLを使用してCSVファイル形式のレポートを出力することも可能です。
詳細な設定と手順、サンプルにつきましてはユーザーページの技術資料にてご案内しております。下記をご参照ください。

評価版をご利用の場合は、 お問い合わせ先へとお問い合わせください
 

Q8-2 成功したテストケースの情報はレポートに出せませんか?データソースのテスト毎の情報をレポートに出せませんか?
テストケースの情報やデータソースのデータ毎の情報をレポートへ出力することが可能です。
(【図8-2.1】参照)
また、テストケースエクスプローラー上でも設定した情報を詳細に確認することができます。
次の4点について設定を行ってテストを行い、レポートを作成することでレポート上で情報を確認することができます。
  • テストケース内で確認したい情報をCPPTEST_REPORT_<型>マクロを使用して指定する。
    例:
    CPPTEST_REPORT_INTEGER(“戻り値”, _return)
  • テストコンフィギュレーションの[実行]タブ > [実行時]タブの[単体テスト実行の詳細をレポート]、[タスクの詳細を含める]、[成功したアサーションの詳細を含める]にチェックを入れる。
  • [テストケースエクスプローラー]の右上(※Visual Studioでは左上)にある[ビュー・メニュー]アイコンをクリックして[表示]の[データソーステスト]、[詳細]を選択して有効にする。
  • C/C++testの設定画面から[Parasoft] > [レポート]の[レポートのフォーマット] > [フォーマット]に「HTML(C/C++test 単体テストの詳細)」を指定する。
 
 【図8-2.1】
Q8_2画面ショット
 
以下の手順で、テスト実行時の詳細情報をレポートへ出力することが可能です。
(【図8-2.2】参照)
  • テストコンフィギュレーションの[実行]タブ > [実行時]タブの[単体テスト実行の詳細をレポート]、[タスクの詳細を含める]、[成功したアサーションの詳細を含める]にチェックを入れる。
  • テストコンフィギュレーションの[実行]タブ > [実行時]タブの[詳細テスト実行レポートを生成する]にチェックを入れる。
  • C/C++testの設定画面から[Parasoft] > [レポート]の[レポートのフォーマット] > [フォーマット]に「HTML(C/C++test 単体テストの詳細)」を指定する。
 
 【図8-2.2】
Q8_2_1画面ショット
 

Q8-3 テスト対象への入出力値をレポートに出せませんか?
テスト対象への入出力値をレポートに出力することも可能です。
また、レポートマクロ CPPTEST_REPORT_<型>を利用することで自動生成したテストケースが生成した値やデータソースに設定した値をレポートに出力することができます。
また、テストケースの一パターンであるデータソース内の一行ごとの値やカバレッジを[テストケースエクスプローラー]ビュー上で確認することもできます。
例:
CPPTEST_REPORT_INTEGER(“戻り値”, _return)
 
また、テスト実行時の詳細情報をレポートへ出力することが可能です。
必要な設定につきましては Q8-2 成功したテストケースの情報はレポートに出せませんか?データソースのテスト毎の情報をレポートに出せませんか?をご確認ください。
 

Q8-4 エディター上に表示される緑と赤のカバレッジのハイライトをレポートで確認できませんか?
C/C++testでは、エディター上と同様にカバレッジを緑と赤のハイライトで確認できるカバレッジレポートを作成できます。
 
次の手順でレポート設定を変更し、カバレッジレポートを作成します。
  1. [Parasoft]メニューの[テストコンフィギュレーション]を選択します。
  2. 単体テストの実行に使用しているテストコンフィギュレーションを選択します。
  3. テストコンフィギュレーションの[実行]タブ > [実行時]タブの[次の詳細カバレッジレポートを生成する]より、出力したいカバレッジ情報をプルダウンメニューから選択します。
  4. [適用]ボタンを押下して設定を保存し、[閉じる]ボタンを押下して画面を閉じます。
  5. 単体テストを実行します。
  6. [テスト進捗]ビューの[レポートの生成]アイコンを押下します。
  7. 作成されたHTMLレポートの[詳細レポート]を押下すると、カバレッジレポートが出力されます。
 
(【図8-4.1】【図8-4.2】参照)
 
レポート作成の際、次の点にご注意ください。
カバレッジレポートを出力するには、単体テスト実行前にレポートの設定が行われている必要があります。
手順3.のレポートの設定を行なってから単体テストを実行し、レポートを作成してください。
 
また、同時に複数の種類のカバレッジレポートを作成することができません。
例:行カバレッジと判断文カバレッジ

複数のカバレッジレポートを作成する場合は、出力したいカバレッジ情報を設定しなおして、再度単体テストを実行してレポートを作成してください。
 
【図8-4.1】
図8_4.1
 
【図8-4.2】
図8_4.2
 

Q8-5 レポートの生成に失敗します。(メモリ不足の場合)
C/C++testで使用可能なメモリが足りないことが原因の場合、使用可能なメモリサイズを大きくすることで発生を抑えられます。
必要な設定につきましては Q10-5 OutOfMemoryErrorが発生します。をご確認ください。
 
C/C++testの起動時オプションやcpptestcliのオプションにおいて上記項目の設定を行い、JVMのヒープサイズを変更してもレポートの作成に失敗する場合は更に下記のオプションを付けてください。なお、この設定はEclipse版のみとなっております。
解析やテストを行うC/C++testとレポート生成を行うParasoft Testでは使用するJVMが異なりますが、下記のオプションを使用することで同じJVMを使用することができます。
 
C/C++test スタンドアロン版/コマンドライン実行:
-J-Dcom.parasoft.xtest.same.vm.reports.generation=ON
C/C++test Eclipse プラグイン版:
-Dcom.parasoft.xtest.same.vm.reports.generation=ON
 
スタンドアロン版の起動オプションで指定する実行例:

> cpptest.exe -J-Dcom.parasoft.xtest.same.vm.reports.generation=ON <その他のオプション>

コマンドラインからの実行例:

> cpptestcli.exe -J-Dcom.parasoft.xtest.same.vm.reports.generation=ON <その他のオプション>

 

A-9.クロス環境

Q9-1 (HEW) HEWプロジェクトをC/C++testで解析するためのHEWのツールアドミニストレーションの設定はなぜ行うのですか?
HEW IDE で自動的に実行時テストを行うことができるようにするには、HEWTargetServer コンポーネントを HEW に登録する必要があるからです。
 

Q9-2 (HEW)なぜ低水準関数を含むファイルをインストゥルメントしないのですか?
インストゥルメントとはカバレッジ情報や問題発生時のスタックトレースのためのC/C++testのランタイムライブラリのコードを埋め込むことです。
低水準関数を含むファイルはHEWでプロジェクトを作成する際に自動で作成されるファイルなので解析の必要性は低く、低水準関数はC/C++testのランタイムライブラリのコード実行にも必要なコードであるため、コードを埋め込むと挙動がおかしくなってしまいます。
以上のことからインストゥルメントを行わないようにします。
 

Q9-3 (クロス環境汎用)単体テストで問題が発生するためデバッグして確認したいのですがデバッグ実行はできますか?
はい、可能です。
C/C++testの単体テストではデバッグオプションを付けてビルドを行っているため、生成された実行モジュールをお使いのクロス環境用のデバッガにロードすることでデバッグ実行することができます。
単体テスト用の実行モジュールは、次の場所に" プロジェクト名" Test." 実行モジュールの拡張子" の形式で生成されます。
<ワークスペースまでのパス>\.cpptest\<プロジェクト>\unit-data\current_tubf179707
 

A-10.その他

Q10-1 サポートへの問い合わせ方法はどのようにすればいいですか?
テクニカルサポートへの連絡方法のページをご覧ください
 

Q10-2 サポートアーカイブはどうすれば作成できますか?
サポートアーカイブの作成手順は以下の通りです。
 
    【Eclipse版の場合】
  1. [Parasoft]メニューの[設定]を選択します。設定ダイアログが表示されます。
  2. 設定ダイアログの左側ツリーから、[Parasoft] > [テクニカルサポート]を選択します。
  3. [送信するアイテム]の中の[全般]と[C/C++test]のすべての項目と、[詳細ログを有効にする]にチェックを入れ、[OK]ボタンを押下します。
  4. 問題が発生するテストを実行し、エラーが発生することを確認します。
  5. [Parasoft]メニューの[設定]を選択します。設定ダイアログが表示されます。
  6. 設定ダイアログの左側ツリーから、[Parasoft] > [テクニカルサポート]を選択します。
  7. [アーカイブの作成]ボタンを押下します。
  8. [アーカイブロケーション]に指定されたフォルダに、サポートアーカイブファイル(zipファイル)が作成されます。
 
    【Visual Studio版の場合】
  1. [Parasoft]メニューの[設定]を選択します。設定ダイアログが表示されます。
  2. 設定ダイアログの左側ツリーから、[テクニカルサポート]を選択します。
  3. [送信するアイテム]の中のすべての項目と、[詳細ログを有効にする]にチェックを入れ、[OK]ボタンを押下します。
  4. 問題が発生するテストを実行し、エラーが発生することを確認します。
  5. [C/C++test]メニューの[設定]を選択し、設定ダイアログの左側ツリーから、[テクニカルサポート]を選択します。
  6. [アーカイブの作成]ボタンを押下します。
  7. [アーカイブロケーション]に指定されたフォルダに、サポートアーカイブファイル(zipファイル)が作成されます。
  • 作成されたzipファイルがサポートアーカイブです。
    • なお、このサポートアーカイブには次の情報を含みます。
    • 開発環境(OS,C/C++testのバージョン、環境変数など)
    • アプリケーションログ
    • C/C++test コンフィギュレーションファイル
    • プリプロセス済みソースファイル
    • 環境情報
    • C/C++testのプロジェクトプロパティ
     
      【CUIの場合】
      cpptestcliでテストを実行する際、以下のオプションを加えてください。
      -localsettings <ローカル設定ファイルパス>
      ローカル設定ファイル内に以下を記述します。
      techsupport.archive_location=<出力ディレクトリのパス>
      techsupport.auto_creation=true
      techsupport.dtp.engine=true
      techsupport.item.config=true
      techsupport.item.environment=true
      techsupport.item.general=true
      techsupport.item.project_props=true
      techsupport.item.session_data=true
      techsupport.verbose=true

    アプリケーションログには、ソースファイル名やソースコードの情報などを含みます。
    お問い合わせの際、ソースファイル名などは伏せていただいても構いません。
     

    Q10-3 パス(フォルダ名、ファイル名、プロジェクト名、インクルードディレクトリ、ワークスペースディレクトリ)に日本語が入るとテストできません。
    C/C++testはプロジェクト名、ファイル名など、パスに日本語が含まれる場合、失敗する可能性があります。
    そのため、パス(フォルダ名、ファイル名、プロジェクト名、インクルードディレクトリ、ワークスペースディレクトリ)に日本語を使用しないでください。
     

    Q10-4 エラーの内容を詳しく知りたいのですが、どこを参照すればよいですか?
    コンソールに出力されたメッセージをご確認ください。
    コンソールの[出力の冗長レベル]を「高」に変更して頂くことで詳しいエラーの内容を確認することができます。
     
    【Eclipse版 / Visual Studio版の場合】
    1. [Parasoft]メニューの[設定]を選択します。設定ダイアログが表示されます。
    2. 設定ダイアログの左側ツリーから、[Parasoft] > [コンソール]を選択します。
    3. [出力の冗長レベル]を「高」に変更し、[適用]ボタンを選択してください。
      Eclipse版では[コンソール]タブ、Visual Studio版では[出力]タブがコンソールにあたります。
    4. コンソールログを取得したい場合は、該当のテストを実行します。
    5. Eclipseの場合は[コンソール]ビュー、Visual Studioの場合は[出力]ビューにに出力されたログをテキストファイルにコピー&ペーストしてご送付ください。
     

    Q10-5 OutOfMemoryErrorが発生します。
    C/C++testで使用可能なメモリが足りないためエラーが発生します。使用可能なメモリサイズの指定を大きくすることで発生を抑えられます。
    【方法】
    C/C++testを起動するスクリプトまたはショートカットにメモリパラメータを追加します。なお、この設定はEclipse版のみとなっております。
    【具体例】
    C/C++test スタンドアロン版:
    cpptest.exe -J-Xms4096m -J-Xmx4096m
    C/C++test Eclipse プラグイン版:
    eclipse.exe -vmargs -Xms4096m -Xmx4096m
    2 つのメモリ パラメータは、それぞれ JVM (Xms) の初期サイズと JVM (Xmx) の最大サイズを指定します。
    設定できる最大サイズは、お使いのマシンによって異なります。


    Q10-6 C/C++testのGUIは日本語/英語表示の選択は可能ですか?
    はい、可能です。ツールの起動オプションで言語設定を指定する方法とシステムの言語設定を指定する方法があります。
    プラットフォームにより使用可能な指定方法が下記の通り異なります。
    【Windows環境 Eclipse版の場合】
    ○ツールの起動オプションで言語設定を指定する方法
    > cpptest.exe -J-Duser.language=EN -J-Duser.country=US

     
    【Windows環境 Visual Studio版の場合】
    ○システムの言語設定を指定する方法
    [スタート]メニューの[コントロールパネル]から[時計と地域]を選択後、[地域]を選択しダイアログ画面を開きます。
    ダイアログ画面から[形式]タブ > [形式]のリストから「英語(米国)」を選び設定します。
    なおこの設定を行う場合、C/C++test以外のリソースにも影響を与える場合がありますのであらかじめご了承ください。
     
    【Linux環境の場合】
    ○ツールの起動オプションで言語設定を指定する方法
    > cpptest -J-Duser.language=EN -J-Duser.country=US

     
    ○システムの言語設定を指定する方法
    環境変数LANGの設定を変更することで日本語/英語表示の選択が可能です。
    • sh系
      英語表示の場合は 
      > export LANG=C

      日本語表示の場合は 
      > export LANG=<日本語ロケール> 
    • csh系
      英語表示の場合は 
      > setenv LANG C

      日本語表示の場合は 
      > setenv LANG <日本語ロケール>
     

    Q10-7 C/C++testの解析結果のレポートを英語表示にすることはできますか?
    はい、可能です。 Q10-6 C/C++testのGUIは日本語/英語表示の選択は可能ですか? に記載の方法でC/C++testの環境を英語環境にしていただくことで、レポートも英語表示にすることができます。
    この方法はコマンドラインからの解析結果のレポートにも有効です。
    コマンドラインからの解析実行時に、 -J-Duser.language=EN -J-Duser.country=USのオプションを使用して英語表示にすることができます。
    コマンド実行例:

    cpptestcli.exe -J-Duser.language=EN -J-Duser.country=US <その他オプション> 

     

    Q10-8 (C/C++testとSubversionなど)構成管理ツールの連携は何ができますか?
    以下のような連携が可能です。
    • C/C++testで検出された違反やテスト失敗が、構成管理ツールへチェックインしたユーザー名と関連付けられる。
    • ソースファイルのチェックインした日時を基にテスト対象のスコープを設定できる。
    • Eclipse GUIからチェックアウト、コミット、履歴参照等の操作ができる。
    • 構成管理ツールのフックを使用してテストを起動できる。
     
    C/C++testが連携可能な構成管理ツールは以下の通りです。

    【C/C++test 2020.2以降のバージョンをご利用の場合】
    • Git
    • Perforce
    • Subversion
    • Team Foundation Server
     
    【C/C++test 10.4以下のバージョンをご利用の場合】
    • AccuRev
    • CVS
    • ClearCase
    • Git
    • Perforce
    • Serena Dimensions
    • Star Team
    • Subversion
    • Synergy / CM
    • Team Foundation Server
    • Visual SourceSafe
     
    構成管理ツールとの連携についてはC/C++test ユーザーズガイドの次の章をご確認ください。
    [設定] > [ソース管理リポジトリとの接続]  
     
    詳細な手順につきましてはユーザーページの技術資料にてご案内しております。下記をご参照ください。

    評価版をご利用の場合は、 お問い合わせ先へとお問い合わせください
     

    Q10-9 既知の問題を確認することができますか?
    こちらの[Spaces]からC/C++testの該当バージョンを選択し、[はじめにお読みください]>[既知の問題]からご確認ください。
     

    Q10-10 ライセンスサーバにアップグレードライセンスを登録したのに利用できません。
    アップグレードライセンスはライセンスサーバに登録をした後、既存のライセンス(メインライセンス)にリンクして紐付ける必要がございます。
     
    1. [ライセンス サーバー]画面の[ツール ライセンス]メニューを表示します。
    2. 「アップグレードライセンス」を登録すると、以下のキャプチャのように、[リンクされていないアップグレード ライセンス]が表示されます。
      [ライセンスのリンク]をクリックします。リンクさせるライセンスを選択します。
    3. Q10_10_1_画面ショット
    4. [ベース ライセンスをアップグレード ライセンスにリンク]ページが表示されます。
    5. リンクするメインライセンスを選択し[リンク]をクリックします。
    6. リンク設定を行うと、以下のように表示されます。
    7. Q10_10_2_画面ショット
    8. 1~4の手順を繰り返し、すべてのアップグレードライセンスをリンクします。
     

    Q10-11 【Linux環境】GUIを操作中にC/C++testが強制終了しました。回避方法はありますか?
    C/C++testが以下のタイミングで強制終了する場合があると報告されています。
    • 解析の実施後にHTML形式のレポートを生成したとき
    • C/C++testのヘルプやルールドキュメントを参照しようとしたとき
    • 上記の動作を行った後、しばらくC/C++testの操作を行ったとき
    上記のタイミングはC/C++test(Eclipse)からHTMLファイルを開く動作に関連しています。
    Eclipseが使用するお使いのマシンのHTMLレンダリングエンジンに問題がある可能性があります。
    以下の対応を行い、解決するかご確認ください。
    • HTMLレンダリングエンジンを入れ替える
      <http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/> からXULRunnerをダウンロードしていただき、展開されたファイルを指定するように引数を設定してC/C++testを起動してください。
       
      > cpptest -J-Dorg.eclipse.swt.browser.XULRunnerPath=/<展開したディレクトリまでのパス>/xulrunner

       
      Eclipseのバグ情報のサイトになります。本問題に関する情報が記載されています。
      <https://bugs.eclipse.org/bugs/show_bug.cgi?id=236724#c22
      >
    •  
    • EclipseのWebブラウザではなく、外部のWebブラウザを使用する
      ヘルプやルールドキュメントのHTMLファイルによりWebブラウザを開いた場合に白い表示だけの画面が表示される場合はこちらの方法で対応をしてください。C/C++testが開くウィンドウの種類により以下の2つの設定を行ってください。
    〇 ヘルプ・ブラウザ
    ヘルプを開く操作ではEclipseの持つ”ヘルプ・ブラウザ”というブラウザを用いてローカルに存在するヘルプのHTMLファイルを開きます。
    HTMLファイルを”ヘルプ・ブラウザ”ではなく、使用可能なWebブラウザで開くように設定します。
     
    1. C/C++test(Eclipse)のメニューから[ウィンドウ] > [設定]を選択します。
    2. 設定ダイアログの左側の欄から[ヘルプ]を選択します。
    3. ダイアログの右側に表示されるヘルプ画面の[ヘルプ目次を開く]欄のリストから[外部ブラウザで]を選択します。
    4. [適用]ボタンを押下して設定を保存します。
    5. 問題が再現するかご確認ください。
      例:メニューから[Parasoft] > [ヘルプ]を選択して表示される別ウィンドウが真っ白な状態ではなく、適切にヘルプが表示される。
     
    〇 内部ブラウザ
    メニューから[Parasoft] > [サポート] > [サポートWEBサイト]を選択やレポートの生成などの操作ではEclipseが内部的に持つ”内部ブラウザ”を用いて外部(www)のサイトを開きます。
    ヘルプ以外の外部サイトやHTMLファイルを開くのに”内部ブラウザ”ではなく、使用可能なWebブラウザで開くように設定します。
     
    1. C/C++test(Eclipse)のメニューから[ウィンドウ] > [設定]を選択します。
    2. 設定ダイアログの左側の欄から[一般] > [Webブラウザ]を選択します。
    3. ダイアログの右側に表示されるWebブラウザ画面から[外部 Web ブラウザを使用]ラジオボタンを選択し、下の[外部 Web ブラウザ]のリストから使用可能なWebブラウザのチェックボックスにチェックを付けます。
    4. [適用]ボタンを押下して設定を保存します。
    5. 問題が再現するかご確認ください。
      例:メニューから[Parasoft] > [サポート] > [サポートWEBサイト]を選択して使用可能なWebブラウザが起動して該当のサイトが表示される。
     

    Q10-12 C/C++testを起動するたびにダイアログが表示されます。回避方法はありますか?
    ユーザー定義テストコンフィギュレーションのデフォルトの格納先から変更をすると、「デフォルトコンフィギュレーション Example Configuration」が有効ではない」といったメッセージが表示されます。
    次の手順でお気に入りのテストコンフィギュレーションを変更することで回避できます。
    1. [Parasoft] > [テストコンフィギュレーション]を選択します。
    2. 任意のテストコンフィギュレーションを選択します。
    3. 右クリックメニューの[お気に入りとして設定] > [F Demo Comfiguration]を選択します。
     
    [F テストコンフィギュレーション名]が現在設定されているお気に入り設定です。
    お気に入りには、メニューバーのアイコンから1オペレーションで実行ができるため、よく使用するテストコンフィギュレーションを指定すると便利です。
     

    A-11.DTP

    Q11-1 DTPが起動しません。
    ポートが競合している可能性があります。DTPが利用するポートと既に利用されているポートが重複されている場合、DTPが利用するポートの変更をしてください。
    デフォルトポート 説明
    80 (Windows), 8080 (Linux)
    DTP Server
    8443 (Windows および Linux)
    SSL Connector
    8005
    Apache Tomcat のポート
    2002
    License Server
    8082
    Parasoft 解析エンジンとサード パーティの統合のための Data Collector。
    9003
    セッション管理データを担当する HyperSQL データベース サーバーが使用します。
    18888
    Team Server (非推奨)
    3306
    MySQL のデータを送信または取得するために使用されるデフォルト ポート。
    5432
    PostgreSQL のデータを送信または取得するために使用されるデフォルト ポート。
    1521
    Oracle のデータを送信または取得するために使用されるデフォルト ポート。
    61617
    JMS イベント ブローカー。
    1883
    MQTT トランスポート コネクタ。

    DTPが利用するポートを変更したい場合の詳細は、ユーザーズガイドの次の章にございます。
    [Parasoft DTP ユーザーズガイド]<[DTP ポートの再設定]

     

    Q11-2 DTPにアクセスできません。
    DTPをインストールしているマシンでブラウザを起動し、以下URLでアクセスできるかご確認ください。
    Windowsの場合:http://localhost
    Linuxの場合:http://localhost:8080

     
    アクセスできる場合、他のマシンからもアクセスできるようにポート(Windowsの場合80、Linuxの場合8080)を解放してください。
    アクセスできない場合、サービスである「Parasoft DTP Servise」が起動しているか確認してください。
     

    Q11-3 DTPの違反エクスプローラ等に表示されるソースコードの日本語が文字化けします。
    ソースコードの文字エンコーディングがUTF-8以外の場合に発生します。
    DTPプロジェクトの設定で文字エンコーディングを指定することで解消します。
     
    【すべてのDTPプロジェクトの設定を変更する場合】
    1. [Report Center]の[管理]メニュー>[設定]>[Parasoft Test グローバル設定]を選択します。
    2. [Parasoft Test デフォルト設定]に file.encoding.name=sjis (文字エンコーディングがShift JISの場合)を追加します。
    3. [保存]ボタンをクリックします。

    【特定のDTPプロジェクトの設定を変更する場合】
    1. [Report Center]の[管理]メニュー>[プロジェクト]>[プロジェクトの検索]を選択します。
    2. [検索]ボタンをクリックし、表示されたプロジェクト一覧から変更したいDTPプロジェクトをクリックします。
    3. [プロジェクトの編集: プロジェクト名]>[ParasoftTest 設定]を選択します。
    4. [このプロジェクトのParasoft Test設定]に file.encoding.name=sjis (文字エンコーディングがShift JISの場合)を追加します。
    5. [保存]ボタンをクリックします。
     

    Q11-4 DTPの違反エクスプローラーにて、違反メッセージが「?????」のように表示されます。
    DTP のデータベースにMySQLを使用していて、かつMySQLデータベースのサーバー文字セットがUTF-8以外に設定されている場合、
    Report Centerのダッシュボード名や、違反のメッセージが「?????」と表示されます。
    その場合、データベースの再作成が必要となり、データの消去が必要になります。
    詳細手順は こちらの[Spaces]からDTPの該当バージョンを選択し、[DTP Standard はじめにお読みください]>[既知の問題点・制限事項・変更点]からご確認ください。
     
     

    Q11-5 DTPのダッシュボードの一部のウィジェットが正しく表示されません。
    ExtensionDesignerとDTPのReport Centerの間が接続できていない可能性があります。
    DTP Enterprise Pack設定内のネットワーク設定で
    オリジン間リソース共有 (CORS) やプロキシ設定をご参照いただき適切な設定を行ってください。
    詳細はDTPユーザーズガイドの次の章をご確認ください。  
    [Parasoft DTP ドキュメント] >[DTP Enterprise Pack]>[DTP Enterprise Packの設定]>[ネットワークの設定]
     

    Q11-6 DTPで使用するポートを確認したい。/変更したい。
  • DTPがデフォルトで使用するポートやポートの変更方法については、Q11-1. DTPが起動しませんをご確認ください。
  •  

    Q11-7 DTPの使用メモリサイズを変更したい。
  • DTPが使用するメモリサイズは以下の手順にて変更可能です。
    1. DTPのサービスを停止します。
    2. <DTP_INSTALL>\bin\variablesをエディタで開き変更します。
      <DTP_INSTALL>ディレクトリはアプリケーションディレクトリを指し、デフォルトの場所はC:\Program Files\Parasoft\DTPです。
      Linuxの場合はインストール時に指定した場所となります。
       
      ※本設定は、DTPで使用するJAVAのヒープとスタックのメモリサイズを変更する編集となります。
      下記変更例の場合、途中でメモリサイズを増やすという処理をせずに
      最初から最後までDTPは8GBを使用する形になります。
       
      Windowsの場合:
      【デフォルト設定】
      DTP_JAVA_OPTS=-Xms1024m -Xmx4096m …
      DC_JAVA_OPTS=-Xms1024m -Xmx4096m …

       
      【変更後:※初期サイズ、最大サイズとも8GBにする場合】
      DTP_JAVA_OPTS=-Xms8192m -Xmx8192m …
      DC_JAVA_OPTS=-Xms8192m -Xmx8192m …

      Linuxの場合:
      【デフォルト設定】
      JAVA_MEM=-Xms1024m -Xmx4096m …
      JAVA_DC_MEM=-Xms1024m -Xmx4096m …

       
      【変更後:※初期サイズ、最大サイズとも8GBにする場合】
      JAVA_MEM=-Xms8192m -Xmx8192m …
      JAVA_DC_MEM=-Xms8192m -Xmx8192m …

    3. ファイルを保存します。
    4. DTPを再起動します。
     

    • Windows、Visual Studio は、米国 Microsoft Corporationの米国及びその他の国における登録商標または商標です。
    • Windowsの正式名称は、Microsoft Windows Operating Systemです。
    • その他、記載されている各社名および各商品名は、各社の登録商標または商標です。
    • Eclipseは、開発ツールプロバイダのオープンコミュニティであるEclipse Foundation, Inc.により構築された開発ツール統合のためのオープンプラットフォームです。