external help file | Locale | Module Name | ms.date | online version | schema | title |
---|---|---|---|---|---|---|
Microsoft.PowerShell.Commands.Utility.dll-Help.xml |
en-US |
Microsoft.PowerShell.Utility |
01/20/2023 |
2.0.0 |
Enable-PSBreakpoint |
Enables the breakpoints in the current console.
Enable-PSBreakpoint [-PassThru] [-Breakpoint] <Breakpoint[]> [-WhatIf] [-Confirm]
[<CommonParameters>]
Enable-PSBreakpoint [-PassThru] [-Id] <Int32[]> [-Runspace <Runspace>] [-WhatIf] [-Confirm]
[<CommonParameters>]
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.
This example enables all breakpoints in the current session.
Get-PSBreakpoint | Enable-PSBreakpoint
Using aliases, this example can be abbreviated as gbp | ebp
.
This example enables multiple breakpoints using their breakpoint IDs.
Enable-PSBreakpoint -Id 0, 1, 5
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.
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
.
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
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: System.Management.Automation.Breakpoint[]
Parameter Sets: Breakpoint
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
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: System.Int32[]
Parameter Sets: Id
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Returns an object representing the breakpoint being enabled. By default, this cmdlet doesn't generate any output.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
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
Parameter Sets: Id
Aliases: RunspaceId
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Prompts you for confirmation before running the cmdlet.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
Shows what would happen if the cmdlet runs. The cmdlet isn't run.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
You can pipe a breakpoint object to this cmdlet.
By default, this cmdlet returns no output.
When you use the PassThru parameter, this cmdlet returns a breakpoint object representing the enabled breakpoint.
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.