3.5 プロジェクトとデータ影響波及分析用データベースの関係
開発マネージャのプロジェクトが,どのような形式でデータ影響波及分析用データベースに格納されるかの説明です。
データ影響波及分析用データベースに格納するときは,サブシステム名には,プロジェクトマスタ名の先頭30バイト文字が仮定されます。プロジェクトマスタ名中の「;」,半角空白,全角空白,タブは,「_」に置き換わります。また,モジュール名はプロジェクトの最終生成物名になります。
[プロジェクト設定]ダイアログの「リンク」タブで「リンケージ処理を行わない」のチェックボックスをオンにしている場合に,最終生成物が存在しないときは,開発マネージャによって内部的に最終生成物名としてプロジェクト名が仮定され,プロジェクト名がモジュール名として仮定されます。
1つのサブシステムを1つのプロジェクトマスタで作成している場合
プロジェクトマスタごとにサブシステム名が決まり,プロジェクトマスタのすべてのプロジェクトに同じサブシステム名になります。デフォルトでは,プロジェクトのサブシステム名はプロジェクトマスタ名(30文字を超える場合は30文字で切り捨てる)に設定されます。
この例の場合,プロジェクトマスタ(SUBSYS1)のすべてのプロジェクトにはサブシステム名(SUBSYS1)を指定します。また,プロジェクトマスタ(SUBSYS2)のすべてのプロジェクトにはサブシステム名(SUBSYS2)を指定します。デフォルトでプロジェクトマスタ名の先頭30バイト文字が設定されています。
この場合は,プロジェクトをビルドすると,プロジェクトマスタ(SUBSYS1)の各プロジェクトのソースファイルの解析情報は,サブシステム名(SUBSYS1)内にモジュール名(出力ファイル名)のラベル付きで格納されます。また,プロジェクトマスタ(SUBSYS2)の各プロジェクトのソースファイルの解析情報は,サブシステム名(SUBSYS2)内にモジュール名(出力ファイル名)のラベル付きで格納されます。
1つのプロジェクトマスタを複数のサブシステムで作成している場合
1つのプロジェクトマスタが1つ以上のプロジェクトで構成される複数のサブシステムで作成されている場合,サブシステムごとにサブシステム名を決定して,サブシステムに属するプロジェクトにそのサブシステムの名称を指定してください。
1つのサブシステムを複数のプロジェクトマスタで作成している場合
1つのサブシステムに複数のプロジェクトマスタを割り当てる構成の場合,サブシステムのサブシステム(内部サブシステム)の構成とし,プロジェクトマスタごとに内部サブシステムのサブシステム名を決定し,すべてのプロジェクトに同じサブシステム名を設定してください。そして,データ影響波及分析でサブシステムに属するすべての内部サブシステムのサブシステム名を指定してください。
開発マネージャでデータ影響波及分析用データベースを作成する場合の注意
-
プロジェクトマスタ内に同じ名前の出力ファイル(実行可能ファイルやDLL)を指定しているプロジェクトが複数ある場合,サブシステムを分割してください。分割しないでリビルドを実行すると,いったんモジュールの情報はすべて削除されます。そのため,ほかのプロジェクトが作成したデータベース情報(同じモジュールラベルが付いた情報)も削除されます。
-
複数のプロジェクトマスタに同じサブシステム名を割り当てないでください。同じ名前の出力ファイル(実行可能ファイルやDLL)を指定しているプロジェクトが複数のプロジェクトマスタにある場合,リビルドを実行すると,ほかのプロジェクトマスタのデータベース情報(同じモジュールラベルが付いた情報)も削除されます。
-
プロジェクトマスタ名が30文字を超えている場合,初期状態のままでは30文字に切り捨てられたことでほかのプロジェクトマスタと同じサブシステム名になることがあります。その場合,サブシステム名をユニークな名称に変更してください。
-
プロジェクトの出力ファイル名を変更すると,変更前の名前で作成されたモジュールのデータベース情報は,それ以降は使用されません。不要なモジュールは,cbldra -Delete,Moduleコマンドで削除してください。
-
次の項目には「-」(ハイフン)で始まる名称を指定できません。指定した場合,データベースの作成および削除に失敗します。
-
サブシステム名※
-
最終生成物名
注※ サブシステム名を指定していない場合はプロジェクトマスタ名
-
-
データベースの作成処理でUレベルのエラーが発生した場合,動作オプション(ビルド時に重大エラー以上が生じた場合にビルド処理を中断する)の設定に関係なく,それ以降のビルド処理およびデータベースの作成処理は中断されます。
データ影響波及分析用データベースに格納されるときの名称に関する注意
開発マネージャからデータベースを作成する場合,[プロジェクト設定]ダイアログで指定したサブシステム名(デフォルト値はプロジェクトマスタ名)と最終生成物名によって,データ影響波及分析用データベースへの格納場所が決まります。名称に関する注意を次に示します。
-
サブシステム名を明示的に指定しない場合,プロジェクトマスタ名の先頭30文字が仮定されます。このとき,「;」,半角空白,全角空白,タブは「_」に置き換わります。例えば,「a;b」と「a△b」はともに,「a_b」となり,同名のサブシステム名になります。プロジェクトマスタ名にこれらを含む場合は,適切なサブシステム名に変更してください。
-
開発マネージャでは,次に示す操作で最終生成物名が変わります。
-
最終生成物の変更
-
プロジェクト種別の変更(拡張子が変わる)
-
[プロジェクト設定]ダイアログの「リンケージ処理を行わない」オプションの指定と解除
-
-
[プロジェクト設定]ダイアログの「リンケージ処理を行わない」オプションを指定すると,開発マネージャはデータベース作成時に,内部的に最終生成物名として「プロジェクト名」が仮定されます。オプションを解除すると,開発マネージャによって最終生成物名にNONAME.exe/dll/libが仮定されます。サブシステム内で一意の最終生成物名とする必要があるため,適切な名称に変更してください。
データ影響波及分析の操作に関する注意
-
[プロジェクト設定]ダイアログで最終生成物名,またはプロジェクト種別を変更し,[OK]ボタンをクリックすると,変更前の情報が残ることを通知するメッセージが表示されます。不要なモジュールは,cbldraコマンドの-Delete,Moduleオプションで削除してください。また,リビルドなどの操作で別のデータベースの情報を削除することがあります。最終生成物名に問題がないかどうかを確認してください。
-
[プロジェクト設定]ダイアログの「リンケージ処理を行わない」オプションを指定すると,データ影響波及分析用データベースの作成時に最終生成物名にプロジェクト名が仮定されることを示すメッセージが表示されます。また,「リンケージ処理を行わない」オプションを解除すると,データ影響波及分析用データベースを作成するときに,最終生成物名を適切な名称に変更が必要である旨のメッセージが表示されます。
-
プロジェクトの新規作成ウィザードで,最終生成物を指定しないで[次へ]ボタンをクリックすると,データ影響波及分析用データベースの作成時に,最終生成物名が重複することを通知するメッセージが表示されます。最終生成物名は指定してください。