
記事記号:[mg1990] 初版:2011/Sep/30

名前
Set-PSDebug
概要
スクリプトのデバッグ機能の切り替え、トレース レベルの設定、および strict モ
ードの切り替えを行います。
構文
Set-PSDebug [-Off] [<CommonParameters>]
Set-PSDebug [-Step] [-Strict] [-Trace <int>] [<CommonParameters>]
説明
Set-PSDebug コマンドレットは、スクリプトのデバッグ機能の切り替え、トレース
レベルの設定、および strict モードの切り替えを行います。
Trace パラメーターに 1 を指定すると、実行時にスクリプトの各行がトレースされ
ます。パラメーターに 2 を指定すると、変数の代入、関数の呼び出し、およびスク
リプトの呼び出しもトレースされます。Step パラメーターを指定すると、スクリプ
トの各行を実行する前に確認メッセージが表示されます。
パラメーター
-Off [<SwitchParameter>]
すべてのスクリプト デバッグ機能を無効にします。
注: "set-strictmode -off" コマンドを使用すると、"set-psdebug -strict" コ
マンドによって設定された検証が無効になります。詳細については、Set-Strict
Mode を参照してください。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
-Step [<SwitchParameter>]
スクリプトのステップ処理を有効にします。各行を実行する前にメッセージが表
示され、停止または続行を選択するか、スクリプトの状態を検査するために別の
インタープリター レベルを入力するように求められます。
注: Step パラメーターを指定した場合、トレース レベルは自動的に 1 に設定
されます。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
-Strict [<SwitchParameter>]
値が設定される前に変数が参照された場合に、インタープリターが例外をスロー
するように指定します。
注: "set-strictmode -off" コマンドを使用すると、"set-psdebug -strict" コ
マンドによって設定された検証が無効になります。詳細については、Set-Strict
Mode を参照してください。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
-Trace <int>
次のいずれかのトレース レベルを指定します。
0 - スクリプトのトレースを無効にする
1 - 実行されるスクリプト行をトレースする
2 - スクリプト行、変数の代入、関数呼び出し、およびスクリプトをトレース
する
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
OutBuffer、および OutVariable。詳細については、
「get-help about_commonparameters」と入力してヘルプを参照してください。
入力
None
パイプを使用してこのコマンドレットに入力を渡すことはできません。
出力
None
このコマンドレットによる戻り値はありません。
メモ
-------------------------- 例 1 --------------------------
C:\PS>set-psdebug -trace 2; foreach ($i in 1..3) {$i}
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
1
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
2
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
3
説明
-----------
このコマンドは、トレース レベルを 2 に設定し、"1"、"2"、"3" という数字を表示
するスクリプトを実行します。
-------------------------- 例 2 --------------------------
C:\PS>set-psdebug -step; foreach ($i in 1..3) {$i}
DEBUG: 1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
Continue with this operation?
1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):a
DEBUG: 1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
1
2
3
説明
-----------
このコマンドは、ステップ処理を有効にし、
"1"、"2"、"3" という数字を表示するスクリプトを実行します。
-------------------------- 例 3 --------------------------
C:\PS>set-psdebug -off; foreach ($i in 1..3) {$i}
1
2
3
説明
-----------
このコマンドは、すべてのデバッグ機能を無効にし、"1"、"2"、"3" という数字を表
示するスクリプトを実行します。
-------------------------- 例 4 --------------------------
C:\PS>set-psdebug -strict; $NewVar
The variable $NewVar cannot be retrieved because it has not been set yet.
At line:1 char:28
+ Set-PsDebug -strict;$NewVar <<<<
説明
-----------
このコマンドは、インタープリターを strict モードにし、まだ設定されていない変
数にアクセスを試みます。
関連するリンク
Online version: http://go.microsoft.com/fwlink/?LinkID=113398
about_Debuggers
Debug-Process
Set-PSBreakpoint
Set-StrictMode
Write-Debug

基本ソフト: Windows 7
キーワード: Windows PowerShell、ヘルプ、Cmdlet、Set-PSDebug