SHOEISHA iD

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

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

PowerShell 2.0の新機能

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

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

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

 PowerShell 2.0ではデバッグ関連のコマンドレットが追加されました。PowerShell ISEを使用してデバッグを行うことも可能ですが、コマンドレットを使用するとより細やかなデバッグを行うことができます。今回はコマンドレットを使用したデバッグ方法について説明します。

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

はじめに

 今回はPowerShell 2.0で追加されたデバッグ用コマンドレットの使用方法について説明します。

対象読者

 PowerShellの基本的な操作ができる方を対象とします。PowerShellについて学びたい方は、PowerShell入門の連載を参照してください。

デバッグ用コマンドレット

 PowerShell 2.0で追加されたデバッグ用のコマンドレットは表1の通りです。

表1 デバッグ用コマンドレット
コマンドレット 説明
Set-PSBreakpoint 行、変数、コマンドにブレークポイントを設定する
Get-PSBreakpoint 現在のセッションのブレークポイントを取得する
Disable-PSBreakpoint 現在のセッションのブレークポイントを無効にする
Enable-PSBreakpoint 現在のセッションのブレークポイントを再び有効にする
Remove-PSBreakpoint 現在のセッションからブレークポイントを削除する
Get-PSCallStack 現在のコール スタックを表示する

デバッグの開始/終了

 デバッグを開始するにはスクリプトにブレークポイントを設定しておく必要があります。ブレークポイントが設定された状態でスクリプトを実行するとデバッグが行えます。

 デバッグを終了するには、スクリプトを最後まで実行するか、qと入力します(詳細については後述します)。

Set-PSBreakpoint

 スクリプトにブレークポイントを設定するには、Set-PSBreakpointコマンドレットを使用します。

 ブレークポイントは次の3か所に設定できます。

  1. 特定の行
  2. コマンド、関数
  3. 変数

 それぞれについて例を紹介します。

特定の行にブレークポイントを設定する

 特定の行にブレークポイントを設定する構文は次の通りです。

構文:特定の行にブレークポイントを設定する
Set-PSBreakpoint -Script スクリプトファイル -Line 行番号

 例えばExample.ps1というスクリプトファイルの7行目にブレークポイントを設定する場合は次のように記述します。

Example.ps1の7行目にブレークポイントを設定する
Set-PSBreakpoint -Script Examle.ps1 -Line 7

コマンドや関数にブレークポイントを設定する

 コマンドや関数にブレークポイントを設定すると、設定したコマンドや関数が実行される直前で実行を停止できます。

 構文は次の通りです。

構文:コマンドや関数にブレークポイントを設定する
Set-PSBreakpoint -Script スクリプトファイル -Command コマンドまたは関数

 例えばExample.ps1内にあるFunc1というコマンドにブレークポイントを設定する場合は次のように記述します。

Example.ps1内のFunc1というコマンドにブレークポイントを設定する
Set-PSBreakpoint -Script Examle.ps1 -Command Func1

変数にブレークポイントを設定する

 変数にブレークポイントを設定した場合は、変数が読み取られるとき、変数に新しい値が書き込まれるとき、またはその両方の時にスクリプトを停止することができます。

 構文は次の通りです。

構文:変数にブレークポイントを設定する
Set-PSBreakpoint -Script スクリプトファイル -Variable 変数 -Mode モード

 変数はドル記号($)を外して指定します。また-Modeパラメーターには表2に示す値を指定することができます。省略した場合は規定値としてWriteが設定されます。

表2 -Modeパラメーター
説明
Write(既定値) 変数の値が書き換わる前に停止する
Read 変数の値が読み取られるときに停止する
ReadWrite 上記の両方で停止する

 例えばExample.ps1内にある変数$valにReadWriteを設定する場合は次のように記述します。

変数にReadWriteモードを設定する
Set-PSBreakpoint -Script Func1.ps1 -Variable val -Mode ReadWrite

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
デバッグの開始とデバッグ中のコマンド

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

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

もっと読む

この記事の著者

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/5098 2010/05/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング