6.1.2 CUIでのデバッグ【UNIX限定】
adshexecコマンドに-dオプションを指定して実行すると,ジョブコントローラをデバッガモードで起動し,CUI操作でデバッグできます。実行環境からコマンドを使用してバッチジョブをデバッグするためには,次のようにadshexecコマンドを使用します。UNIXのシェルからコマンドを入力します。
adshexec -d /script/batchjob2.ash
adshexecコマンドの詳細については,「8.3 シェル運用コマンド」の「adshexecコマンド(バッチジョブを実行する)」を参照してください。
デバッグの実行の概要について次の図に示します。
adshexecコマンドの-dオプションを入力すると,デバッガを起動します。
breakコマンドを入力すると,ブレークポイントが設定されます。
runコマンドを入力すると,ジョブ定義スクリプトを実行してブレークポイントで停止します。
continueコマンドを入力すると,ブレークポイントから継続実行されます。
killコマンドを入力すると,ジョブ定義スクリプトを終了します。
quitコマンドを入力すると,デバッガを終了します。
- 〈この項の構成〉
(1) 出力
デバッグ実行時,ジョブ定義スクリプトを対話的に実行するため,標準出力および標準エラー出力は実行に合わせてタイムリーに表示されます。通常実行時のように実行終了後に出力しません。また,スプールジョブディレクトリには標準出力および標準エラー出力のファイルを作成しません。
通常実行時はジョブ定義スクリプト完了後にジョブ実行ログを標準エラー出力に出力していますが,デバッグ実行時は実行に合わせてジョブ実行ログ相当の情報を標準エラー出力に出力しています。
(2) 情報の初期化
runコマンドでジョブ定義スクリプトを一度実行したあとに,再びrunコマンドでジョブ定義スクリプトを実行すると,前回実行時の設定情報のうち,次に示す情報が初期化されます。
シェル変数
環境変数
エラー注入モード
また,次に示す情報はデバッガを終了するまで引き継がれます。
ブレークポイントおよびウォッチポイントの情報
デバッガの作業ディレクトリパス
ファイル※
- 注※
スクリプト拡張コマンドで作成したファイルについては,該当する後処理に従います。
(3) スプール
CUIデバッグ実行では,デバッガとrunコマンドで実行したジョブ定義スクリプトの2種類のスプールジョブディレクトリを作成します。一度のデバッグ実行でデバッガのスプールジョブディレクトリは1つ,ジョブ定義スクリプトのスプールジョブディレクトリはrunコマンドを実行した回数分作成します。デバッガとジョブ定義スクリプトのスプールジョブディレクトリについて説明します。
(a) デバッガ
デバッガではジョブ定義スクリプトを実行しません。一度のデバッグで実行したジョブ定義スクリプトの数を管理ファイルに格納したり,デバッガの内部データを記述したファイルを格納したりするために,スプールジョブディレクトリを作成します。
デバッガのスプールジョブディレクトリには,次のファイルを格納します。
スクリプトイメージ:実行したスクリプトの内容
ジョブ実行ログ:デバッガのメッセージ(生成したプロセスのpidなど)
ブレークポイント情報(.DBG):デバッガの内部データを記述する
sysout管理ファイル(.sysout)
(b) ジョブ定義スクリプト
runコマンドを実行するたびにスプールジョブディレクトリを作成し,次のファイルを格納します。
スクリプトイメージ:実行したスクリプトの内容スクリプトイメージ
ジョブ実行ログ:ジョブコントローラのメッセージ
出力ファイル:#-adsh_spoolfileコマンドの実行で作成したファイル
sysout管理ファイル(.sysout)
(4) 注意事項
「[[条件式]]」で条件判定を行った場合,またはコマンド間をパイプで連結した場合は,実行結果のメッセージに含まれるE-Timeに,デバッガの処理時間が含まれることがあります。