Enable-PSBreakpoint
启用当前控制台中的断点。
语法
Enable-PSBreakpoint [-Id] <Int32[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Enable-PSBreakpoint [-Breakpoint] <Breakpoint[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
说明
Enable-PSBreakpoint cmdlet 可将已禁用的断点重新启用。可使用它来启用所有断点,或者可通过提交断点对象或断点 ID 来指定断点。
断点是脚本中的一个点,在该处,将暂时停止执行脚本,从而使您可以检查脚本中的指令。新建的断点会自动启用,但是可通过使用 Disable-PSBreakpoint cmdlet 来禁用它们。
在技术上,该 cmdlet 将断点对象的 Enabled 属性值更改为 True。
Enable-PSBreakpoint 是设计用来调试 Windows PowerShell 脚本的多个 cmdlet 之一。有关 Windows PowerShell 调试程序的详细信息,请参阅 about_Debuggers。
参数
-Breakpoint <Breakpoint[]>
指定要启用的断点。输入包含断点对象的变量或者用来获取断点对象的命令(如 Get-PSBreakpoint 命令)。还可通过管道将断点对象传递至 Enable-PSBreakpoint。
是否为必需? |
true |
位置? |
1 |
默认值 |
无。 |
是否接受管道输入? |
true (ByValue) |
是否接受通配符? |
false |
-Id <Int32[]>
启用具有指定断点 ID 的断点。默认值为所有断点。输入 ID 或包含 ID 的变量。(无法通过管道将 ID 传递至 Enable-PSBreakpoint。)要查找某个断点的 ID,请使用 Get-PSBreakpoint cmdlet。
是否为必需? |
true |
位置? |
1 |
默认值 |
无 |
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-PassThru
返回表示已启用的断点的对象。默认情况下,此 cmdlet 将不产生任何输出。
是否为必需? |
false |
位置? |
named |
默认值 |
无输出 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Confirm
在执行命令之前提示您进行确认。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
描述如果执行该命令会发生什么情况(无需实际执行该命令)。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
System.Management.Automation.Breakpoint 可通过管道将断点对象传递至 Enable-PSBreakpoint。 |
输出 |
“无”或 System.Management.Automation.Breakpoint 如果使用 PassThru 参数,则 Enable-PSBreakpoint 返回一个表示已启用的断点的断点对象。否则,此 cmdlet 将不产生任何输出。 |
说明
如果您试图启用一个已经启用的断点,则 Enable-PSBreakpoint cmdlet 不会生成错误。因此,可启用所有断点且不发生任何错误,即使它们中仅有部分处于禁用状态。
当通过使用 Set-PSBreakpoint cmdlet 来创建断点时会启用断点。无需启用新创建的断点。
示例 1
C:\PS>get-psbreakpoint | enable-psbreakpoint
说明
-----------
此命令启用当前控制台中的所有断点。可将该命令缩写为“gbp | ebp”。
示例 2
C:\PS>enable-psbreakpoint -id 0, 1, 5
说明
-----------
此命令启用断点 ID 为 0、1 和 5 的断点。
示例 3
C:\PS>$b = set-psbreakpoint -script sample.ps1 -variable Name
C:\PS> $b | disable-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
C:\PS> $b | enable-psbreakpoint -passthru
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 cmdlet 在 Sample.ps1 脚本中的“Name”变量上创建断点。然后,它将断点对象保存在 $b 变量中。
第二条命令使用 Disable-PSBreakpoint cmdlet 来禁用新断点。它使用管道运算符 (|) 将 $b 中的断点对象发送至 Disable-PSBreakpoint cmdlet,并使用 Disable-PSBreakpoint 的 PassThru 参数来显示已禁用的断点对象。这使您可以验证断点对象的 Enabled 属性值是否为 False。
第三条命令使用 Enable-PSBreakpoint cmdlet 来重新启用断点。它使用管道运算符 (|) 将 $b 中的断点对象发送至 Enable-PSBreakpoint cmdlet,并使用 Enable-PSBreakpoint 的 PassThru 参数来显示该断点对象。这使您可以验证断点对象的 Enabled 属性值为 True。
结果显示在下面的示例输出中。
示例 4
C:\PS>$b = get-psbreakpoint -id 3, 5
C:\PS> enable-psbreakpoint -breakpoint $b
说明
-----------
这些命令通过指定它们的断点对象来启用一组断点。
第一个命令使用 Get-PSBreakpoint cmdlet 来获取断点,并将它们保存在 $b 变量中。
第二个命令使用 Enable-PSBreakpoint cmdlet 及其 Breakpoint 参数来启用断点。
此命令与“enable-psbreakpoint -id 3, 5”等效。
另请参阅
概念
about_Debuggers
Set-PSBreakpoint
Disable-PSBreakpoint
Get-PSBreakpoint
Remove-PSBreakpoint
Get-PSCallStack