Enable-PSBreakpoint

啟用目前控制台中的斷點。

Syntax

Enable-PSBreakpoint
      [-PassThru]
      [-Breakpoint] <Breakpoint[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-PSBreakpoint
      [-PassThru]
      [-Id] <Int32[]>
      [-Runspace <Runspace>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Cmdlet Enable-PSBreakpoint 會重新啟用停用的斷點。 您可以使用它來啟用所有斷點,或藉由提供斷點對象或標識碼來啟用特定斷點。

斷點是腳本中的一個點,執行會暫時停止,讓您可以檢查腳本的狀態。 新建立的斷點會自動啟用,但可以使用 停用 Disable-PSBreakpoint

從技術上看,此 Cmdlet 會將 斷點物件的 Enabled 屬性值變更為 True

Enable-PSBreakpoint 是數個專為偵錯 PowerShell 腳本而設計的 Cmdlet 之一。 如需 PowerShell 調試程式的詳細資訊,請參閱 about_Debuggers

範例

範例 1:啟用所有斷點

這個範例會啟用目前會話中的所有斷點。

Get-PSBreakpoint | Enable-PSBreakpoint

使用別名時,此範例可以縮寫為 gbp | ebp

範例 2:依標識符啟用斷點

此範例會使用斷點標識碼來啟用多個斷點。

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 在腳本中 ,於名稱 變數 Sample.ps1 上建立斷點,以儲存變數中的 $B 斷點物件。 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 中啟用斷點

在此範例中,以斷點啟動作業會設定為中斷,然後停用。 Runspace 會儲存在變數中,並使用 Runspace 參數傳遞至 Get-PSBreakPoint 命令。 的輸出 Get-PSBreakPoint 會透過管道傳送至 Enable-PSBreakpoint ,以在 Runspace 中啟用斷點。

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

Type:Breakpoint[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前先提示您確認。

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

-Id

指定要啟用之斷點的識別碼。 預設值為所有斷點。 以數位或變數提供識別碼。 您無法使用管線 將識別碼 傳送至 Enable-PSBreakpoint。 若要尋找 斷點的標識碼 ,請使用 Get-PSBreakpoint Cmdlet。

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

傳回 物件,表示正在啟用的斷點。 根據預設,此 Cmdlet 不會產生任何輸出。

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

-Runspace

指定 Runspace 物件的識別碼 ,讓您可以在指定的 Runspace 中與斷點互動。

此參數已在PowerShell 7.2中新增。

Type:Runspace
Aliases:RunspaceId
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 未執行。

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

輸入

Breakpoint

您可以使用管線將斷點物件傳送至此 Cmdlet。

輸出

None

根據預設,此 Cmdlet 不會傳回任何輸出。

Breakpoint

當您使用 PassThru 參數時,這個 Cmdlet 會傳回代表已啟用斷點的斷點物件。

備註

PowerShell 包含下列的 Enable-PSBreakpoint別名:

  • 所有平臺:

    • ebp
  • 如果您嘗試啟用已啟用的斷點,Cmdlet Enable-PSBreakpoint 不會產生錯誤。 因此,即使只有少數斷點停用,您仍可以啟用所有斷點,而不會發生錯誤。

  • 當您使用 Set-PSBreakpoint Cmdlet 建立斷點時,就會啟用斷點。 您不需要啟用新建立的斷點。