次の方法で共有


Set-PSDebug

スクリプトのデバッグ機能の切り替え、トレース レベルの設定、および strict モードの切り替えを行います。

構文

Set-PSDebug [-Off] [<CommonParameters>]

Set-PSDebug [-Step] [-Strict] [-Trace <int>] [<CommonParameters>]

説明

Set-PSDebug コマンドレットは、スクリプトのデバッグ機能の切り替え、トレース レベルの設定、および strict モードの切り替えを行います。

Trace パラメーターに 1 を指定すると、実行時にスクリプトの各行がトレースされます。パラメーターに 2 を指定すると、変数の代入、関数の呼び出し、およびスクリプトの呼び出しもトレースされます。Step パラメーターを指定すると、スクリプトの各行を実行する前に確認メッセージが表示されます。

パラメーター

-Off

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

注: "Set-StrictMode -off" コマンドを使用すると、"set-psdebug -strict" コマンドによって設定された検証が無効になります。詳細については、Set-StrictMode を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Step

スクリプトのステップ処理を有効にします。各行を実行する前にメッセージが表示され、停止または続行を選択するか、スクリプトの状態を検査するために別のインタープリター レベルを入力するように求められます。

注: Step パラメーターを指定した場合、トレース レベルは自動的に 1 に設定されます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Strict

値が設定される前に変数が参照された場合に、インタープリターが例外をスローするように指定します。

注: "Set-StrictMode -off" コマンドを使用すると、"set-psdebug -strict" コマンドによって設定された検証が無効になります。詳細については、Set-StrictMode を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Trace <int>

次のいずれかのトレース レベルを指定します。

0 - スクリプトのトレースを無効にする

1 - 実行されるスクリプト行をトレースする

2 - スクリプト行、変数の代入、関数呼び出し、およびスクリプトをトレースする

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: 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 モードにし、まだ設定されていない変数にアクセスを試みます。





関連項目

概念

about_Debuggers
Debug-Process
Set-PSBreakpoint
Set-StrictMode
Write-Debug