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