デバッグの開始とデバッグ中のコマンド
ブレークポイントを設定したら、通常通りスクリプトを実行します。
スクリプトが実行されるとコマンドプロンプトの先頭に「[DBG]:」が付き、デバッグモードであることを示します。
もしプロンプトに「[DBG]:」が表示されない場合はデバッグモードになっていないことが考えられます。その際はブレークポイントの設定を確認してください。
デバッグ中に使用可能なコマンドを表3に示します。
コマンド | 説明 |
s | 次のステートメントを実行してから停止する。 |
v | 次のステートメントを実行する。ただし関数および呼び出しをスキップする。 |
o | 現在の関数からステップアウトする。関数が入れ子になっている場合は1 つ上の階層に移動する。 |
c | スクリプトが完了するか次のブレークポイントに到達するまで続行する。 |
l | スクリプト内の実行中の部分を表示する。既定では、現在の行、前の5 行、次の10 行を表示する。 |
l <m> | <m> で指定された行番号で始まる 16 行のスクリプトを表示する。 |
l <m> <n> | <m> で指定された行番号で始まる <n> 行のスクリプトを表示する。 |
q | スクリプトの実行を停止し、デバッガーを終了する |
k | 現在のコールスタックを表示します。 |
[Enter]キー | 最後のコマンドが 「s」「v」「l」の場合は、そのコマンドを繰り返す。 |
例えばFunc1.ps1というスクリプトを1行ずつ確認しながら実行するにはプロンプトの「>>>」の右側に「s」と入力し[Enter]キーを押します。以降、繰り返しステップ実行を行うには[Enter]キーを押します。
スクリプトの実行を停止する場合は「q」と入力し[Enter]キーを押します。
Get-PSBreakpoint
Get-PSBreakpointコマンドレットを使用すると、現在のセッションで設定されているブレークポイントを確認できます。
ブレークポイント1つにつき1つのIDが付与されており、複数のブレークポイントがある場合には、複数行返されます。返された情報には、何行目(Line)、どのコマンド(Command)、どの変数(Variable)、どんなアクション(Action)にブレークポイントを設定したのかが含まれます(Actionについては「デバッグの応用」の項で説明します)。