CTF トレース

アプリケーションが失敗した場所を特定するための統合化トレース機能 (CTF トレース) の使用に関する PL/I 固有の情報を提供します。

CTF トレースを使用すると、-ctf コンパイラ オプションでコンパイルした PL/I コードをトラブルシューティングできます。

CTF トレースについては、「統合化トレース機能」のトピックおよびサブトピックで詳しく説明されています。本セクションでは、PL/I アプリケーションの問題を診断する CTF トレースの使用に固有な詳細情報を追加で提供します。

PL/I アプリケーション用の ctf.cfg ファイルの作成

CTF トレースは、トレース出力に関する情報を得るために ctf.cfg ファイルにアクセスします。PL/I アプリケーションでトレースを実行するために必要なすべての情報がこの構成ファイルに含まれていることを確認するには、この機能を実行する前に ctf.cfg ファイルを編集します。手始めとして使用できるサンプル CTF 構成ファイルが提供されています。詳細については、「CTF 構成ファイルの例」を参照してください。

コードを変更しないアプリケーション ロジックの CTF トレースの生成

PL/I プロシージャへのエントリおよびプロシージャの終了のための CTF トレースを自動的に生成できます。PL/I トレースの 6 イベントは、PL/I プロシージャが開始された行番号を示し、7 イベントは、PL/I プロシージャが終了した行番号を示します。

6/7 イベントを自動的に生成するには、2 つのパラメーターでレポートのレベルおよびトレースのタイプ (#syspgm または #pgm) を指定し、-ctf 指令を使用してコンパイルします。 次に例を示します。

-ctf 1,16

詳細は次のとおりです。

  • 1 は、情報メッセージを報告するトレースを示します。
  • 16 は、#pgm トレースを示します。

-ctf コンパイラ オプションの使用法に関する詳細については、「コンパイラ オプション」を参照してください。

CTF のトラブルシューティング

CTF に関する最も一般的な問題は、トレース ファイルが実際には生成されないことです。次のリストを使用して、それぞれの文に該当することを確認してください。該当しない場合、その問題を修正してもう一度試してください。

  • mftrace.application が設定されていないか、適切なアプリケーション名が設定されている。
  • mftrace.emitter.textfile#location が、完全修飾された書き込み可能な場所 (権限を確認) に設定され、この場所に エンタープライズ サーバー リージョン を実行しているユーザー ID がアクセスできる。
  • すべての行末 (EOL) マーカーが正しい。
    重要: CTF トレース ファイルを Windows から Linux/UNIX に転送する場合は、EOL マーカーが正しく変換されるように、必ず ASCII として転送してください。dos2unix ユーティリティを使用すれば、ファイルを転送した後でも変換できます。