次の方法で共有


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 変数に保存します。 ブレークポイント パラメーターを使用して、ブレークポイント 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

入力

Breakpoint

ブレークポイント オブジェクトをこのコマンドレットにパイプできます。

出力

None

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

Breakpoint

PassThru パラメーターを使用すると、このコマンドレットは、有効なブレークポイントを表すブレークポイント オブジェクトを返します。

メモ

PowerShell には、Enable-PSBreakpointの次のエイリアスが含まれています。

  • すべてのプラットフォーム:

    • ebp
  • 既に有効になっているブレークポイントを有効にしようとすると、Enable-PSBreakpoint コマンドレットでエラーが生成されません。 そのため、いくつかのブレークポイントのみが無効になっている場合でも、エラーなしですべてのブレークポイントを有効にすることができます。

  • ブレークポイントは、Set-PSBreakpoint コマンドレットを使用してブレークポイントを作成するときに有効になります。 新しく作成されたブレークポイントを有効にする必要はありません。