Enable-PSBreakpoint
Enables the breakpoints in the current console.
Syntax
Enable-PSBreakpoint
[-PassThru]
[-Breakpoint] <Breakpoint[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Enable-PSBreakpoint
[-PassThru]
[-Id] <Int32[]>
[-Runspace <Runspace>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Enable-PSBreakpoint
cmdlet re-enables disabled breakpoints. You can use it to enable all
breakpoints, or specific breakpoints by providing breakpoint objects or IDs.
A breakpoint is a point in a script where execution stops temporarily so that you can examine the
state of the script. Newly created breakpoints are automatically enabled, but can be disabled using
Disable-PSBreakpoint
.
Technically, this cmdlet changes the value of the Enabled property of a breakpoint object to True.
Enable-PSBreakpoint
is one of several cmdlets designed for debugging PowerShell scripts. For more
information about the PowerShell debugger, see
about_Debuggers.
Examples
Example 1: Enable all breakpoints
This example enables all breakpoints in the current session.
Get-PSBreakpoint | Enable-PSBreakpoint
Using aliases, this example can be abbreviated as gbp | ebp
.
Example 2: Enable breakpoints by ID
This example enables multiple breakpoints using their breakpoint IDs.
Enable-PSBreakpoint -Id 0, 1, 5
Example 3: Enable a disabled breakpoint
This example re-enables a breakpoint that has been disabled.
$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
creates a breakpoint on the Name variable in the Sample.ps1
script saving
the breakpoint object in the $B
variable. The PassThru parameter displays the value of the
Enabled property of the breakpoint is False.
Enable-PSBreakpoint
re-enables the breakpoint. Again, using the PassThru parameter we see that
the value of the Enabled property is True.
Example 4: Enable breakpoints using a variable
This example enables a set of breakpoints using the breakpoint objects.
$B = Get-PSBreakpoint -Id 3, 5
Enable-PSBreakpoint -Breakpoint $B
Get-PSBreakpoint
gets the breakpoints and saves them in the $B
variable. Using the
Breakpoint parameter, Enable-PSBreakpoint
enables the breakpoints.
This example is equivalent to running Enable-PSBreakpoint -Id 3, 5
.
Example 5: Enable a breakpoint in a runspace
In this example, a job is started with a breakpoint is set to break then disabled. The runspace is
stored in a variable and passed to the Get-PSBreakPoint
command with the Runspace parameter.
The output of Get-PSBreakPoint
is piped to Enable-PSBreakpoint
to enable the breakpoint in the
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
Parameters
-Breakpoint
Specifies the breakpoints to enable. Provide a variable containing breakpoints or a command that
gets breakpoint objects, such as Get-PSBreakpoint
. You can also pipe breakpoint objects to
Enable-PSBreakpoint
.
Type: | Breakpoint[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Specifies the Id numbers of the breakpoints to enable. The default value is all breakpoints.
Provide the Id by number or in a variable. You can't pipe Id numbers to
Enable-PSBreakpoint
. To find the Id of a breakpoint, use the Get-PSBreakpoint
cmdlet.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Returns an object representing the breakpoint being enabled. By default, this cmdlet doesn't generate any output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Runspace
Specifies the Id of a Runspace object so you can interact with breakpoints in the specified runspace.
This parameter was added in PowerShell 7.2.
Type: | Runspace |
Aliases: | RunspaceId |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet isn't run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
You can pipe a breakpoint object to this cmdlet.
Outputs
None
By default, this cmdlet returns no output.
When you use the PassThru parameter, this cmdlet returns a breakpoint object representing the enabled breakpoint.
Notes
PowerShell includes the following aliases for Enable-PSBreakpoint
:
All platforms:
ebp
The
Enable-PSBreakpoint
cmdlet doesn't generate an error if you try to enable a breakpoint that is already enabled. As such, you can enable all breakpoints without error, even when only a few are disabled.Breakpoints are enabled when you create them by using the
Set-PSBreakpoint
cmdlet. You don't need to enable newly created breakpoints.
Related Links
PowerShell