EXEC CICS LINK 文を使用するとき、LINK 文の実行の前に PL/I デバッガーで 次のコマンドを使用して、呼び出されるプログラムのコードをデバッグします。
shlib [pgm].dll
ここで、[pgm] は EXEC CICS LINK で実行されるプログラムの名前です。
LINK 文の実行の前にこのコマンドを実行することによって、プログラムが実行前にロードするときロード イベント (シグナル #6) が送出されます。
このプログラムには、EXEC CICS LINK を使用する PGMB プログラムへのリンクが含まれています。
PGMA: proc(comm_ptr) options(main,reentrant) reorder; dcl comm_ptr pointer; dcl data_lngth fixed bin(15) init(100); dcl commarea char(100) based(comm_ptr); if eibcalen = 0 then do; alloc commarea set(comm_ptr); commarea = '%from pgma'; end; else; exec cics link program('pgmb ') commarea(commarea) length(data_lngth); free commarea; exec cics return; end;
このサンプルでは、LINK 文の実行の前に shlib pgmb.dll コマンドを実行することによって、デバッグのセッションでプログラムがロードする前にロード イベントが送出されます。ロード イベントが受信されると、新しいプログラムに対して ENV コマンド (ここでは ENV pgmb) を実行することによって、実行を継続する前に 1 つまたは複数のブレークポイントを設定できるようになります。なお、shlib はファイル名のレベルで機能するので、コマンドにはファイル拡張子が必要になります。