JP1/Advanced Shell
ジョブ定義スクリプトファイルの動作を確認しながらデバッグ実行することをデバッグといいます。
adshexecコマンドの-dオプションの指定に相当します。デバッグをすると,コンソールが表示されます。エラーメッセージはエラーウィンドウに表示されます。
コンソールの内容を確認するためにプロセス終了の直前で停止します。初期化処理や構文解析でエラーがあった場合,プロセス終了前で停止しないでエラーウィンドウにエラーメッセージが表示されます。
デバッグの方法には,次の2種類があります。
方法 操作 概要 実行 [デバッグ]−[ブレークポイントまで実行]メニュー ブレークポイントまでの実行スタート,およびリスタートをします。 ステップ実行 [デバッグ]−[ステップイン]メニュー ジョブ定義スクリプトを1行ずつ実行して停止します。関数を呼び出す場合は,その関数の中も1行ずつ実行して停止します。 [デバッグ]−[ステップオーバー]メニュー ジョブ定義スクリプトを1行ずつ実行して停止します。関数を呼び出す場合,関数の中は1行ずつ停止しませんが,ブレークポイントがあるときは停止します。 [デバッグ]−[ステップアウト]メニュー 関数を呼び出した次の行またはブレークポイントで停止します。
- 注意事項
- ファイル名のないジョブ定義スクリプトファイルに対してデバッグを実行しようとすると,ファイル名を付けて保存するためのダイアログボックスが表示されます。ジョブ定義スクリプトファイル名(.ash)を付けて保存しないと,デバッグは実行できません。
- ジョブ定義スクリプトファイルの内容が更新されている場合,ファイルを更新するかどうかを問い合わせるメッセージが表示されます。ファイルを更新するとデバッグが実行できます。
- 「プログラムの終了」のダイアログで「すぐに終了」を選択したときなど,デバッグ実行中にエディタが強制終了された場合,デバッガのプロセスであるadshesub.exeだけ終了せずに,コンソールを表示し続ける場合があります。その場合,taskkillコマンドまたはタスクマネージャーからadshesub.exeプロセスを終了させてください。
- <この項の構成>
- (1) デバッグ実行時のブレークポイントを設定・解除する
- (2) デバッグを実行・中止する
- (3) ウォッチへ変数を追加する
デバッグの実行時に,一時的に実行を停止させる位置を設定,または解除します。
JP1/Advanced Shellエディタの場合,カーソルがある行にブレークポイントを設定するため,外部スクリプトには設定できません。事前に外部スクリプトにブレークポイントを設定していても,外部スクリプトのブレークポイントでは停止しません。設定できるブレークポイントの数の上限は999です。
- ブレークポイントを設定したい行にカーソルを移動させる。
- [デバッグ]−[ブレークポイントの設定]メニューを選択する。
カーソルのある行にブレークポイントが設定されます。ブレークポイントは,行の左側にで表示されます。ジョブ定義スクリプトは,ブレークポイントを設定した行の先頭(実行前)まで実行して停止します。
- ブレークポイントを解除したい行にカーソルを移動させる。
- [デバッグ]−[ブレークポイントの解除]メニューを選択する。
カーソルのある行のブレークポイントが解除されます。
- ブレークポイントが設定されているジョブ定義スクリプトを表示する。
- [デバッグ]−[ブレークポイントをすべて解除]メニューを選択する。
表示されているジョブ定義スクリプトファイルのブレークポイントがすべて解除されます。
- 注意事項
- 編集モードの場合は,任意の行にブレークポイントを設定できます。デバッグモードの場合,ブレークポイントを設定できるのは,実行対象となっているコマンド,またはステートメント単位に限られます。
- 実行できない行にブレークポイントが設定されている場合は,デバッグモード開始時に,エディタが自動的に下方向に適切な位置を検索して,そこにブレークポイントを設定します。
- ブレークポイントは,999個まで指定できます。
- [デバッグ]−[ブレークポイントまで実行]メニューを選択する,またはツールバーの[ブレークポイントまで実行]ボタンをクリックする。
JP1/Advanced Shellエディタがデバッグモードになり,デバッグが始まります。次に実行される行の左側には,実行する位置を示す記号()が表示されます。コメント行やスペース行は無視されます。
ブレークポイント()を指定している行まで実行されると,実行が一時的に停止されます。
ブレークポイントの設定方法については,「4.4.6(1) デバッグ実行時のブレークポイントを設定・解除する」を参照してください。
- デバッグを中止したい場合は,[デバッグ]−[デバッグの中止]メニューを選択する,またはツールバーの[デバッグの中止]ボタンをクリックする。
メニューを選択した時点で,デバッグが中止され,メッセージを出力して後処理をして終了します。プロセス終了前で停止しないでデバッグを終了します。エディタは編集モードに戻ります。
- [デバッグ]−[ステップイン]メニューを選択する,またはツールバーの[ステップイン]ボタンをクリックする。
エディタがデバッグモードになり,デバッグが始まります。次に実行される行の左側には,実行する位置を示す記号()が表示されます。コメント行やスペース行は無視されます。関数の中も1行ずつ実行します。ジョブ定義スクリプトの最後の行まで実行すると,デバッガのプロセスの終了を示す記号()が表示されます。
CUIとは異なって,外部スクリプトを実行する場合,外部スクリプトでは停止しないで,エディタで表示しているジョブ定義スクリプトの次のコマンドで停止します。
- デバッグを中止したい場合は,[デバッグ]−[デバッグの中止]メニューを選択する,またはツールバーの[デバッグの中止]ボタンをクリックする。
メニューを選択した時点で,デバッグが中止され,メッセージを出力して後処理をして終了します。なお,プロセス終了前で停止しないでデバッグを終了します。エディタは編集モードに戻ります。
(c) 1行ずつ実行(関数の中はステップ実行しない)する場合
- [デバッグ]−[ステップオーバー]メニューを選択する,またはツールバーの[ステップオーバー]ボタンをクリックする。
エディタがデバッグモードになり,デバッグが始まります。次に実行される行の左側には,実行する位置を示す記号()が表示されます。コメント行やスペース行は無視されます。ジョブ定義スクリプトの最後の行まで実行すると,デバッガのプロセスの終了を示す記号()が表示されます。
CUIとは異なって,外部スクリプトを実行する場合,外部スクリプトでは停止しないで,エディタで表示しているジョブ定義スクリプトの次のコマンドで停止します。
- デバッグを中止したい場合は,[デバッグ]−[デバッグの中止]メニューを選択する,またはツールバーの[デバッグの中止]ボタンをクリックする。
メニューを選択した時点で,デバッグが中止され,メッセージを出力して後処理をして終了します。なお,プロセス終了前で停止しないでデバッグを終了します。エディタは編集モードに戻ります。
- [デバッグ]−[ステップアウト]メニューを選択する,またはツールバーの[ステップアウト]ボタンをクリックする。
エディタがデバッグモードになり,デバッグが始まります。次に実行される行の左側には,実行する位置を示す記号()が表示されます。コメント行やスペース行は無視されます。ジョブ定義スクリプトの最後の行まで実行すると,デバッガのプロセスの終了を示す記号()が表示されます。
CUIとは異なって,関数に入っていない状態でも,ジョブ定義スクリプトの終わりまでジョブ定義スクリプトを実行します。ただし,関数をリターンするまでにブレークポイントがある場合は停止します。
- 実行中のジョブ定義スクリプトを停止させたい場合は,[デバッグ]−[スクリプトの停止]メニューを選択する,またはツールバーの[スクリプトの停止]ボタンをクリックする。
[スクリプトの停止]ボタンをクリックしたときに実行していたコマンドはそのまま実行を続け,次のコマンドの実行に移る前に停止します。
- デバッグを中止したい場合は,[デバッグ]−[デバッグの中止]メニューを選択する,またはツールバーの[デバッグの中止]ボタンをクリックする。
メニューを選択した時点で,デバッグが中止され,メッセージを出力して後処理をして終了します。なお,プロセス終了前で停止しないでデバッグを終了します。エディタは編集モードに戻ります。
(e) デバッグ実行時のエラーウィンドウ,ウォッチウィンドウおよびコンソール
- エラーウィンドウ
デバッグで検出された解析エラーや実行エラーは,エラーウィンドウに表示されます。また,ウォッチウィンドウに追加されている変数の値は,実行停止時に更新されて,表示されます。
エラーウィンドウについては,「4.7.4 エラーウィンドウ」を参照してください。
- ウォッチウィンドウ
ウォッチウィンドウに表示される変数の値は,ジョブ定義スクリプト停止時に更新して表示されます。ウォッチウィンドウを表示したい場合は,ジョブ定義スクリプト停止中に[表示]−[ウォッチウィンドウを表示]メニューを選択する,またはツールバーの[ウォッチウィンドウを表示]ボタンをクリックしてください。このメニューは,ジョブ定義スクリプト停止中にだけ選択できます。また,ウォッチウィンドウで変数名をダブルクリックすると[値の更新]ダイアログボックスが表示されます。[値の更新]ダイアログボックスは,変数名の値を更新できます。
ウォッチウィンドウについては,「4.7.6 ウォッチウィンドウ」を,[値の更新]ダイアログボックスの設定方法については,「4.7.8 値の更新ダイアログボックス」を参照してください。
- コンソール
デバッグ実行時に標準出力,標準エラー出力およびジョブ実行ログはコンソールに表示されます。コンソールは,ジョブ定義スクリプトを実行するプロセスが動作している間は表示され,プロセスが終了すると閉じます。ジョブ定義スクリプト実行中はコンソールがアクティブになり,ジョブ定義スクリプト停止時にエディタがアクティブになります。
ウォッチウィンドウに指定した変数を追加します。
- デバッグモードで,[デバッグ]−[ウォッチへ変数の追加]メニューを選択する。
[変数の追加]ダイアログボックスが表示されます。
ダイアログボックスの設定方法については,「4.7.7 変数の追加ダイアログボックス」を参照してください。
- 追加したい変数の名前を入力する。
入力できるのは99バイトまでです。これを超えた変数名を入力できません。
- [追加]ボタンをクリックする。
入力した変数の名前がウォッチウィンドウに追加されます。
- [キャンセル]ボタンをクリックする。
[変数の追加]ダイアログボックスが閉じます。
- デバッグモードで,JP1/Advanced Shellエディタウィンドウのクライアントエリアで文字列を選択してから[デバッグ]−[ウォッチへ変数の追加]メニューを選択すると,選択した文字列が「変数名」に表示されます。
- 追加した変数をウォッチウィンドウから削除する場合は,変数名を右クリックし,[変数名の削除]メニューを選択します。
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.