Z Abend Investigator 用の CSECT の命名

ソース・コード情報を使いやすくするために、Z Abend Investigator は CSECT 名を、提供されるコンパイラー・リストまたはサイド・ファイルと一致させることができる必要があります。

これを可能にするには、すべての CSECT に名前を付ける必要があります。ほとんどの高水準言語で記述されたプログラム内の CSECT の名前は、自動的に割り当てられますが、C で記述されたプログラムには特別の要件が適用されます。これらの要件に従わないと、このようなタイプのプログラムではソース・コード情報が判別されません。

C プログラムの CSECT 命名要件

HFZLC または HFZLANGX 連結から C プログラムへの自動ソース・サポートを有効にする。これは CSECT が次の #pragma ステートメントを使用して命名されるという要件です。
#pragma csect(code,"csect_name")

ここで csect_name は、PDS または PDSE を使用する場合、コンパイラー・リスト名または LANGX ファイルのメンバー名です。これにより、サイド・ファイル検索が自動的にコンパイラー・リストを検索できます。

C プログラムが #pragma csect オプションを使用してコンパイルされなかった場合を処理する。次の 2 つのサンプル EXEC がデータ・セット HFZ.SHFZSAM1 で提供され、ソースのプロビジョニングを容易にします。
HFZSCLST

この EXEC を使用して、C コンパイラー・リストを処理し、C 関数名を PPA1 から抽出し、関数名の索引およびその一致するリスト・データ・セットを作成することができます。

HFZSCPRO

この EXEC は Z Abend Investigator リスト出口です。これは HFZSCLST により作成された索引ファイルをスキャンし、指定した関数の一致するリスト・データ・セットの名前を返します。

1. #pragma csect を使用してコンパイルされなかった C プログラムからの関数名の抽出

図に、#pragma csect オプションを使用してコンパイルされなかった C プログラムに対するソース・サポートを有効化する方法を示します。HFZSCLST EXEC は C コンパイラー・リストを処理し、C 関数名を PPA1 から抽出し、関数名の索引およびその一致するリスト・データ・セットを作成することができます。サイド・ファイルが分析中に見つからなかった場合、Z Abend Investigator は HFZSCPRO リスト出口を実行できます。これは HFZSCLST により作成された索引ファイルをスキャンし、指定した関数の一致するリスト・データ・セットの名前を返します。