Disable-PSBreakpoint

禁用当前控制台中的断点。

语法

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

说明

Disable-PSBreakpoint cmdlet 禁用断点,以确保在脚本运行时不会命中断点。 可使用它来禁用所有断点,或者可通过提交断点对象或断点 ID 来指定断点。

在技术上,该 cmdlet 将断点对象的 Enabled 属性值更改为 False。 若要重新启用断点,请使用 Enable-PSBreakpoint cmdlet。 当使用 Set-PSBreakpoint cmdlet 来创建断点时,将默认启用断点。

断点是脚本中的一个点,将在其中暂时停止执行脚本,从而使你可以检查脚本中的指令。 Disable-PSBreakpoint 是专门用于调试 PowerShell 脚本的多个 cmdlet 之一。 有关 PowerShell 调试程序的详细信息,请参阅 about_Debuggers

示例

示例 1:设置断点并禁用它

这些命令禁用新创建的断点。

$B = Set-PSBreakpoint -Script "sample.ps1" -Variable "name"
$B | Disable-PSBreakpoint

Set-PSBreakpoint cmdlet 在 Sample.ps1 脚本中的 $Name 变量上创建断点,并将断点对象保存在 $B 变量中。 Disable-PSBreakpoint cmdlet 禁用新断点。 它使用管道运算符 (|) 将 $B 中的断点对象发送到 Disable-PSBreakpoint cmdlet。

此命令的结果是:$B 中断点对象的 Enabled 属性值为 False。

示例 2:禁用断点

此命令禁用断点 ID 为 0 的断点。

Disable-PSBreakpoint -Id 0

示例 3:创建禁用的断点

此命令创建新断点,在你启用该断点之前,该断点将一直禁用。

Disable-PSBreakpoint -Breakpoint ($B = Set-PSBreakpoint -Script "sample.ps1" -Line 5)

它使用 Disable-PSBreakpoint cmdlet 禁用断点。 Breakpoint 参数的值为 Set-PSBreakpoint 命令,该命令可设置新断点、生成断点对象,以及将对象保存在 $B 变量中。

Cmdlet 参数将对象用作值,可接受包含对象的变量或者可获取或生成对象的命令。 在此情况下,由于 Set-PSBreakpoint 生成断点对象,因此可将它用作 Breakpoint 参数的值。

示例 4:禁用当前控制台中的所有断点

此命令禁用当前控制台中的所有断点。

`Get-PSBreakpoint` | Disable-PSBreakpoint

示例 5:在运行空间中禁用断点

在此示例中,将启动一个作业,并将一个断点设置为当运行 Set-PSBreakPoint 时中断。 运行空间存储在变量中,并通过“运行空间”参数传递到 Get-PSBreakPoint 命令。 Get-PSBreakPoint 的输出通过管道传输到 Disable-PSBreakpoint 以禁用运行空间中的断点。

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

$runspace = Get-Runspace -Id 1

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

参数

-Breakpoint

指定要禁用的断点。 输入一个包含断点对象的变量或可获取断点对象的命令(如 Get-PSBreakpoint 命令)。 还可以通过管道将断点对象传递给 Disable-PSBreakpoint cmdlet。

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

禁用具有指定断点 ID 的断点。 输入 ID 或包含 ID 的变量。 不能通过管道将 ID 传递给 Disable-PSBreakpoint

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 对象的 ID,以便可以与指定运行空间中的断点进行交互。

此参数已在 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 包含 Disable-PSBreakpoint 的以下别名:

  • 所有平台:
    • dbp