SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows PowerShell 入門

Windows PowerShell 入門(10)-デバッグ編

デバッグ処理

  • X ポスト
  • このエントリーをはてなブックマークに追加

ブレークポイントを使用する

 ブレークポイントとは、プログラムの動作状態を確認するために、強制的に停止したい位置を設定する場所のことです。

 ブレークポイントの設定は簡単で$host.EnterNestedPrompt()をブレークポイントをかけたい場所に記述するだけです。

 Debug.ps1を下記のように改善してスクリプトにブレークポイントを設定し、実験してみたいと思います(5行目に挿入しました。スクリプトは「C:\Work\Debug.ps1」として上書き保存します)。)

$a = 2
$b = 3
$c = $a + $b
$host.EnterNestedPrompt()   #ブレークポイントの設定
Write-Debug "Line4: $c"
$a = 4
$b = 5
$c = $a + $b
Write-Debug "Line8: $c"

 上記を実行してみます。

PS C:\Work> ./Debug.ps1
デバッグ: Line4: 5
PS C:\Work>>>

 上記のように、ブレークポイントを設定した位置までコードが実行されプロンプトが表示されます。

 この状態は、「ステップ実行する」で説明した「中断処理」と同様で、変数の状態を確認することが可能です。試しに$a$b$cがどうなっているかみてみましょう。

PS C:\Work> ./Debug.ps1
デバッグ: Line4: 5
PS C:\Work>>> $a
2
PS C:\Work>>> $b
3
PS C:\Work>>> $c
5
PS C:\Work>>>

 このようにブレークポイントを設定すると、ブレークポイントが設定された場所まで一気にコードが実行され、その時点での変数の値を確認することができます。プロンプトを終了するには exitと入力して[Enter]キーを押します。

PS C:\Work>>> exit
デバッグ: Line8: 9
PS C:\Work>

まとめ

 今回は、PowerShellでのスクリプト開発におけるデバッグ機能について説明しました。

 PowerShell自体にはVB.NETやC#のようにグラフィカルなデバッグ環境を持ち備えていません。しかし、今回紹介したデバッグ機能を用いることで、1行ずつステップ実行したり、変数の途中経過をウォッチすることが可能となります。

 ぜひ、このデバッグ機能を有効に活用して、効率のよい開発を行っていただければ幸いです。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Windows PowerShell 入門連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3067 2008/10/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング