次の方法で共有


Set-PSDebug

スクリプトのデバッグ機能のオン/オフの切り替え、トレース レベルの設定、厳格モードの切り替えを行います。

構文

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

説明

コマンドレットは Set-PSDebug 、スクリプトのデバッグ機能のオンとオフを切り替え、トレース レベルを設定し、strict モードを切り替えます。 既定では、PowerShell デバッグ機能はオフになっています。

Trace パラメーターの値が の1場合、スクリプトの各行は実行時にトレースされます。 パラメーターの値が の場合、変数の 2割り当て、関数呼び出し、スクリプト呼び出しもトレースされます。 Step パラメーターを指定すると、スクリプトの各行が実行される前にメッセージが表示されます。

例 1: トレース レベルを設定する

次の使用例は、トレース レベルを に 2設定し、数値 1、2、3 を表示するスクリプトを実行します。

Set-PSDebug -Trace 2; foreach ($i in 1..3) {$i}

DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in  >>>> 1..3) {$i}
DEBUG:     ! SET $foreach = 'IEnumerator'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '1'.
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}
DEBUG:     ! SET $i = '2'.
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}
DEBUG:     ! SET $i = '3'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
3
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $foreach = ''.

例 2: ステップ実行を有効にする

次の使用例は、ステップ実行を有効にし、数値 1、2、3 を表示するスクリプトを実行します。

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

例 3: 厳格モードを使用する

次の使用例は、PowerShell を厳密モードにし、値が割り当てられない変数へのアクセスを試みます。

Set-PSDebug -Strict; $NewVar

The variable '$NewVar' cannot be retrieved because it has not been set.
At line:1 char:22
+ Set-PSDebug -Strict; $NewVar

例 4: デバッグ機能をオフにする

次の使用例は、すべてのデバッグ機能をオフにし、数値 1、2、3 を表示するスクリプトを実行します。

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

パラメーター

-Off

すべてのスクリプト デバッグ機能をオフにします。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Step

スクリプトのステップ実行をオンにします。 各行が実行される前に、PowerShell はスクリプトの状態を検査するために、停止、続行、または新しいインタープリター レベルの入力を求めるメッセージを表示します。

Step パラメーターを指定すると、 のトレース レベル1が自動的に設定されます。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Strict

スクリプトで参照される前に変数に値を割り当てる必要があることを指定します。 値が割り当てられる前に変数が参照されている場合、PowerShell は例外エラーを返します。 これは、Set-StrictMode -Version 1 と同じです。 詳細については、「 Set-StrictMode」を参照してください。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Trace

スクリプト内の各行のトレース レベルを指定します。 各行は、実行時にトレースされます。

このパラメーターに使用できる値は次のとおりです。

  • 0: スクリプト トレースをオフにします。
  • 1: スクリプト行の実行時にトレースします。
  • 2: スクリプト行、変数の割り当て、関数呼び出し、スクリプトをトレースします。
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

このコマンドレットへの入力をパイプライン処理することはできません。

出力

None

このコマンドレットは出力を返しません。