SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

PowerShell 2.0の新機能

PowerShell 2.0の新機能(7)
――デバッグ編

PowerShell 2.0のデバッグ関連コマンドレット

デバッグの応用

 基本的なデバッグ方法が分かったところで1つ応用例を見てみましょう。Set-PSBreakpointコマンドレットにはActionというパラメーターがあります。
Actionパラメーターを使用すると、「変数の値が~になったときに停止する」のような条件を付けたブレークポイントを作成することができます。

 リスト1は九九を表示するスクリプトです。

リスト1 九九を表示する(Func1.ps1)
for ( $i = 1; $i -le 9; $i++ )
{
    for ( $j = 1; $j -le 9; $j++ )
    {
        $ans = $j * $i
        $exp = ";{0}*{1}={2,2:#0},"; -f $j, $i ,$ans
        Write-Host $exp -NoNewline
    }
    Write-Host ""
}

 それではActionパラメーターの使い方を見て見ましょう。

 リスト1では2重ループの内側で変数$iと変数$jをかけ算して結果を$ansに格納しています。この$ansが20と等しくなったときに止まるようにブレークポイントを設定するには

$ansが20と等しくなったときに停止する
Set-PSBreakpoint -Script Func1.ps1 -Variable ans -Action { if ($ans -eq 20) {break } }

のようにします。

 ブレークポイント設定後スクリプトを実行すると、$ansが20になったときに実行が停止します。

まとめ

 PowerShell 2.0に新たに追加されたデバッグ関連のコマンドレットを使用することで、より柔軟なデバッグを行えることできるようになりました。どのコマンドレットも使用方法に難しいところはありません。ぜひ活用して、スクリプトのデバッグに活かしていただければ幸いです。

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
PowerShell 2.0の新機能連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5098 2010/05/11 14:00

イベント

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

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

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

メールバックナンバー