PowerShellをデバッグするためには、Windowsに付属している「Windows PowerShell ISE」というツールを使います。
なお、使用する際は、スクリプトが保存されてないと動かないので注意です。
「Windows PowerShell ISE」を起動するには?
Windows PowerShell ISEを起動するには、「全てのプログラム」→「アクセサリ」→「Windows PowerShell」→「Windows PowerShell ISE」を選択します。
また、「ファイル名を指定した実行」で「powershell_ise」と入力して実行しても起動できるので、覚えておきましょう。
下記のような画面が起動します。
デバッグをしてみる。
それでは、PowerShellのデバッグをしてみましょう。
ためしに、デバッグ用に下記のようなプログラムを用意しました。
1 2 3 4 |
$a = 1 $b = 2 $c = $a + $b echo $c |
一旦、貼り付けて保存します。
「F9」でブレークポイントを張ることができます。
「F5」でスクリプトを実行させることができます。ブレークポイントを貼った箇所で、プログラムが止まりました。
後は、ブレーク用に下記のキーの動作を覚えておけばデバッグに関しては大丈夫でしょう。
キー | 説明 |
---|---|
F10 | ステップオーバー |
F11 | ステップイン |
F5 | 実行 |
なお、PowerShell ISEは、デバッグができるという点が大きな利点ですが、他にも下記のような利点がありますので、ツールを作成する際は、積極的に使っていくようにしましょう。
- 構文がハイライトされていて見やすい。
- スクリプトを作成しながら、その場で実行させることができる。
- タブキーを押すことで、コマンドレットを補完してくれるコードアシスト機能(サジェスト機能)がある。
デバッグ用のスクリプトレット
今まではデバッガーでワンステップ実行をする方法をご紹介させていただきましたがスクリプト内にログを埋め込んでデバッグする方法もご紹介します。
Write-Output
1 |
Write-Output 'XXX' |
PowerShell実行時にコンソール出力させることができます。本番用のコードでも意図的にログ出力させたい場合に使えます。(xxx処理が開始しましたなど。)
Write-Debug
1 |
Write-Debug 'デバッグ出力' |
実行方法
1 |
.\xxx.ps1 -Debug |
上記のように「-Debug」オプションを付与した場合のみ出力させることができます。なので、あくまで開発用のコードと言えるでしょう。
この記事へのコメントはありません。