Enable-PSBreakpoint
現在のコンソール内のブレークポイントを有効にします。
構文
Enable-PSBreakpoint
[-PassThru]
[-Breakpoint] <Breakpoint[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Enable-PSBreakpoint
[-PassThru]
[-Id] <Int32[]>
[-Runspace <Runspace>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Enable-PSBreakpoint
コマンドレットは、無効なブレークポイントを再度有効にします。 これを使用して、ブレークポイント オブジェクトまたは ID を指定することで、すべてのブレークポイントまたは特定のブレークポイントを有効にすることができます。
ブレークポイントは、スクリプトの状態を調べることができるように、実行が一時的に停止するスクリプト内のポイントです。 新しく作成されたブレークポイントは自動的に有効になりますが、 Disable-PSBreakpoint
を使用して無効にできます。
技術的には、このコマンドレットはブレークポイント オブジェクトの Enabled プロパティの値を True に変更します。
Enable-PSBreakpoint
は、PowerShell スクリプトのデバッグ用に設計されたいくつかのコマンドレットの 1 つです。 PowerShell デバッガーの詳細については、「 about_Debuggers」を参照してください。
例
例 1: すべてのブレークポイントを有効にする
この例では、現在のセッションのすべてのブレークポイントを有効にします。
Get-PSBreakpoint | Enable-PSBreakpoint
エイリアスを使用すると、この例は gbp | ebp
と省略できます。
例 2: ID でブレークポイントを有効にする
この例では、ブレークポイント ID を使用して複数のブレークポイントを有効にします。
Enable-PSBreakpoint -Id 0, 1, 5
例 3: 無効なブレークポイントを有効にする
この例では、無効になっているブレークポイントを再度有効にします。
$B = Set-PSBreakpoint -Script "sample.ps1" -Variable Name -PassThru
$B | Enable-PSBreakpoint -PassThru
AccessMode : Write
Variable : Name
Action :
Enabled : False
HitCount : 0
Id : 0
Script : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1
AccessMode : Write
Variable : Name
Action :
Enabled : True
HitCount : 0
Id : 0
Script : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1
Set-PSBreakpoint
は、ブレークポイント オブジェクトを $B
変数に保存するSample.ps1
スクリプトの Name 変数にブレークポイントを作成します。 PassThru パラメーターは、ブレークポイントの Enabled プロパティの値がFalseを表示します。
Enable-PSBreakpoint
ブレークポイントを再び有効にします。 ここでも、 PassThru パラメーターを使用すると、 Enabled プロパティの値が Trueであることがわかります。
例 4: 変数を使用してブレークポイントを有効にする
この例では、ブレークポイント オブジェクトを使用してブレークポイントのセットを有効にします。
$B = Get-PSBreakpoint -Id 3, 5
Enable-PSBreakpoint -Breakpoint $B
Get-PSBreakpoint
はブレークポイントを取得し、 $B
変数に保存します。 Breakpoint パラメーターを使用して、ブレークポイントEnable-PSBreakpoint
有効にします。
この例は、 Enable-PSBreakpoint -Id 3, 5
の実行と同じです。
例 5: 実行空間でブレークポイントを有効にする
この例では、ブレークポイントを中断してから無効に設定してジョブを開始します。 実行空間は変数に格納され、Runspace パラメーターを使用して Get-PSBreakPoint
コマンドに渡されます。
Get-PSBreakPoint
の出力は、実行空間でブレークポイントを有効にするためにEnable-PSBreakpoint
にパイプされます。
Start-Job -ScriptBlock {
$bp = Set-PSBreakpoint -Command Start-Sleep
Disable-PSBreakpoint $bp
Start-Sleep -Seconds 10
}
$runspace = Get-Runspace -Id 1
Get-PSBreakPoint -Runspace $runspace | Enable-Breakpoint -Runspace $runspace
パラメーター
-Breakpoint
有効にするブレークポイントを指定します。 ブレークポイントを含む変数、またはブレークポイント オブジェクトを取得するコマンド ( Get-PSBreakpoint
など) を指定します。 ブレークポイント オブジェクトをパイプして Enable-PSBreakpoint
することもできます。
型: | Breakpoint[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Id
有効にするブレークポイントの Id 番号を指定します。 既定値はすべてのブレークポイントです。
Idを数値または変数で指定します。 Id番号をパイプしてEnable-PSBreakpoint
することはできません。 ブレークポイントの Id を検索するには、 Get-PSBreakpoint
コマンドレットを使用します。
型: | Int32[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
有効になっているブレークポイントを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Runspace
指定した実行空間内のブレークポイントと対話できるように、 Runspace オブジェクトの ID を指定します。
このパラメーターは PowerShell 7.2 で追加されました。
型: | Runspace |
Aliases: | RunspaceId |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
ブレークポイント オブジェクトをこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは、有効なブレークポイントを表すブレークポイント オブジェクトを返します。
メモ
PowerShell には、 Enable-PSBreakpoint
の次のエイリアスが含まれています。
すべてのプラットフォーム:
ebp
既に有効になっているブレークポイントを有効にしようとしても、
Enable-PSBreakpoint
コマンドレットはエラーを生成しません。 そのため、一部のブレークポイントのみが無効な場合でも、エラーを生成せずにすべてのブレークポイントを有効にできます。ブレークポイントは、
Set-PSBreakpoint
コマンドレットを使用してブレークポイントを作成するときに有効になります。 新しく作成されたブレークポイントを有効にする必要はありません。
関連リンク
PowerShell