Remove-PSBreakpoint

Deletes breakpoints from the current console.

Syntax

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

Description

The Remove-PSBreakpoint cmdlet deletes a breakpoint. Enter a breakpoint object or a breakpoint ID.

When you remove a breakpoint, the breakpoint object is no longer available or functional. If you have saved a breakpoint object in a variable, the reference still exists, but the breakpoint does not function.

Remove-PSBreakpoint is one of several cmdlets designed for debugging PowerShell scripts. For more information about the PowerShell debugger, see about_Debuggers.

Examples

Example 1: Remove all breakpoints

This command deletes all of the breakpoints in the current console.

Get-PSBreakpoint | Remove-PSBreakpoint

Example 2: Remove a specified breakpoint

This command deletes a breakpoint.

$B = Set-PSBreakpoint -Script "sample.ps1" -Variable "Name"
$B | Remove-PSBreakpoint

The Set-PSBreakpoint cmdlet creates a breakpoint on the $Name variable in the Sample.ps1 script and saves the breakpoint object in the $B variable. The Remove-PSBreakpoint cmdlet deletes the new breakpoint. It uses a pipeline operator (|) to send the breakpoint object in the $B variable to the Remove-PSBreakpoint cmdlet.

As a result of this command, if you run the script, it runs to completion without stopping. Also, the Get-PSBreakpoint cmdlet does not return this breakpoint.

Example 3: Remove a breakpoint by ID

This command deletes the breakpoint with breakpoint ID 2.

Remove-PSBreakpoint -Id 2

Example 4: Use a function to remove all breakpoints

This simple function deletes all the breakpoints in the current session.

function del-psb { Get-PSBreakpoint | Remove-PSBreakpoint }

It uses the Get-PSBreakpoint cmdlet to get the breakpoints. Then, it uses a pipeline operator (|) to send the breakpoints to the Remove-PSBreakpoint cmdlet, which deletes them.

Example 5: Remove a breakpoint in a runspace

In this example, a job is started and a breakpoint is set to break when the Set-PSBreakPoint is run. 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 Remove-PSBreakpoint to remove the breakpoint in the runspace.

Start-Job -ScriptBlock {
    Set-PSBreakpoint -Command Start-Sleep
    Start-Sleep -Seconds 10
}

$runspace = Get-Runspace -Id 1

Get-PSBreakPoint -Runspace $runspace | Remove-Breakpoint -Runspace $runspace

Parameters

-Breakpoint

Specifies the breakpoints to delete. Enter a variable that contains breakpoint objects or a command that gets breakpoint objects, such as a Get-PSBreakpoint command. You can also pipe breakpoint objects to Remove-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 breakpoint IDs for which this cmdlet deletes breakpoints.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
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 is not run.

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

Inputs

Breakpoint[]

You can pipe breakpoint objects to this cmdlet.

Int32[]

Runspace

Outputs

None

This cmdlet returns no output.

Notes

PowerShell includes the following aliases for Remove-PSBreakpoint:

  • All platforms:
    • rbp