启用 PSBreakpoint (Microsoft.PowerShell.Utility)
启用 PSBreakpoint
- 模块 :
- Microsoft.PowerShell.Utility
在当前控制台中启用断点。
句法
Enable-PSBreakpoint
[-PassThru]
[-Breakpoint] <Breakpoint[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Enable-PSBreakpoint
[-PassThru]
[-Id] <Int32[]>
[-Runspace <Runspace>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]描述
Enable-PSBreakpoint cmdlet 重新启用禁用的断点。您可以使用它来启用所有断点,或通过提供断点对象或 ID 来启用特定断点。
断点是脚本中暂时停止执行的点,以便您可以检查脚本的状态。新创建的断点会自动启用,但可以使用 Disable-PSBreakpoint 禁用。
从技术上讲,此 cmdlet 将断点对象的 Enabled 属性值更改为 True。
Enable-PSBreakpoint 是设计用于调试 PowerShell 脚本的多个 cmdlet 之一。有关 PowerShell 调试器的更多信息,请参阅 about_Debuggers。
示例
示例 1:启用所有断点
此示例启用当前会话中的所有断点。
Get-PSBreakpoint | Enable-PSBreakpoint使用别名,此示例可以缩写为 gbp | ebp。
示例2:通过ID启用断点
此示例使用断点 ID 启用多个断点。
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.ps1Set-PSBreakpoint 在 Sample.ps1 脚本中的 Name 变量上创建断点,将断点对象保存在 $B变量。 PassThru 参数显示断点的Enabled 属性值为False。
Enable-PSBreakpoint 重新启用断点。再次,使用 PassThru 参数,我们看到 Enabled 属性的值为 True。
示例 4:使用变量启用断点
此示例使用断点对象启用一组断点。
$B = Get-PSBreakpoint -Id 3, 5
Enable-PSBreakpoint -Breakpoint $BGet-PSBreakpoint 获取断点并将其保存在 $B 变量中。使用 Breakpoint 参数,Enable-PSBreakpoint 启用断点。
此示例相当于运行 Enable-PSBreakpoint -Id 3, 5。
示例 5:在运行空间中启用断点
在此示例中,作业以设置为中断然后禁用的断点启动。运行空间存储在变量中,并使用 Runspace 参数传递给 Get-PSBreakPoint 命令。 Get-PSBreakPoint 的输出通过管道传输到 Enable-PSBreakpoint 以在运行空间中启用断点。
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。
- 类型 :
断点[]
- 位置:
0
- 默认值:
None
- 必需的:
True
- 接受管道输入:
True
- 接受通配符:
False
-Confirm
在运行 cmdlet 之前提示您进行确认。
- 类型 :
SwitchParameter
- 别名:
cf
- 位置:
-
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-Id
指定要启用的断点的Id号。默认值是所有断点。通过数字或变量提供Id。您无法将 Id 数字通过管道传输到 Enable-PSBreakpoint。要查找断点的Id,请使用Get-PSBreakpoint cmdlet。
- 类型 :
Int32[]
- 位置:
0
- 默认值:
None
- 必需的:
True
- 接受管道输入:
True
- 接受通配符:
False
-PassThru
返回一个表示正在启用的断点的对象。默认情况下,此 cmdlet 不会生成任何输出。
- 类型 :
SwitchParameter
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-Runspace
指定运行空间对象的 ID,以便您可以与指定运行空间中的断点进行交互。
此参数是在 PowerShell 7.2 中添加的。
- 类型 :
运行空间
- 别名:
RunspaceId
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
True
- 接受通配符:
False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
- 类型 :
SwitchParameter
- 别名:
wi
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
输入
断点
您可以通过管道将断点对象传递给此 cmdlet。
输出
无
默认情况下,此 cmdlet 不返回任何输出。
断点
当您使用 PassThru 参数时,此 cmdlet 返回一个表示已启用断点的断点对象。
笔记
PowerShell 包含以下 Enable-PSBreakpoint 别名:
所有平台:
ebp
如果您尝试启用已启用的断点,Enable-PSBreakpoint cmdlet 不会生成错误。因此,即使只有少数断点被禁用,您也可以启用所有断点而不会出现错误。
当您使用 Set-PSBreakpoint cmdlet 创建断点时,断点就会启用。您不需要启用新创建的断点。