Get-PSBreakpoint

获取在当前会话中设置的断点。

语法

Get-PSBreakpoint
   [[-Script] <String[]>]
   [-Runspace <Runspace>]
   [<CommonParameters>]
Get-PSBreakpoint
   [[-Script] <String[]>]
   -Command <String[]>
   [-Runspace <Runspace>]
   [<CommonParameters>]
Get-PSBreakpoint
   [[-Script] <String[]>]
   -Variable <String[]>
   [-Runspace <Runspace>]
   [<CommonParameters>]
Get-PSBreakpoint
   [[-Script] <String[]>]
   [-Type] <BreakpointType[]>
   [-Runspace <Runspace>]
   [<CommonParameters>]
Get-PSBreakpoint
   [-Id] <Int32[]>
   [-Runspace <Runspace>]
   [<CommonParameters>]

说明

Get-PSBreakPoint cmdlet 获取在当前会话中设置的断点。 可以使用该 cmdlet 参数获取特定断点。

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

示例

示例 1:获取所有脚本和函数的所有断点

此命令获取在当前会话中所有脚本和函数上设置的所有断点。

Get-PSBreakpoint

示例 2:按 ID 获取断点

此命令获取断点 ID 为 2 的断点。

Get-PSBreakpoint -Id 2

Function         :
IncrementAction  :
Enabled          :
TrueHitCount     : 0
Id               : 2
Script           : C:\ps-test\sample.ps1
ScriptName       : C:\ps-test\sample.ps1

示例 3:通过管道将 ID 传递给“Get-PSBreakpoint”

这些命令演示如何通过管道将断点 ID 传递给 Get-PSBreakpoint 来获取断点。

$B = `Set-PSBreakpoint` -Script "sample.ps1" -Command "Increment"
$B.Id | Get-PSBreakpoint

Set-PSBreakpoint cmdlet 在 Sample.ps1 脚本中的增量函数上创建断点,并将断点对象保存在 $B 变量中。 $B 变量中断点对象的 Id 属性通过管道传递给 Get-PSBreakpoint cmdlet 以显示断点信息。

示例 4:获取指定脚本文件中的断点

此命令获取 Sample.ps1SupportScript.ps1 文件中的所有断点。

Get-PSBreakpoint -Script "Sample.ps1, SupportScript.ps1"

此命令不会获取可能在会话中的其他脚本中或函数上设置的其他断点。

示例 5:获取指定 cmdlet 中的断点

此命令获取在 Sample.ps1 文件中的 Read-HostWrite-Host 命令上设置的所有 Command 断点。

Get-PSBreakpoint -Command "Read-Host, Write-Host" -Script "Sample.ps1"

示例 6:获取指定文件中的 Command 断点

Get-PSBreakpoint -Type Command -Script "Sample.ps1"

此命令获取 Sample.ps1 文件中的所有 Command 断点。

示例 7:按变量获取断点

此命令获取在当前会话中的 $Index$Swap 变量上设置的断点。

Get-PSBreakpoint -Variable "Index, Swap"

示例 8:获取文件中的所有 Line 和 Variable 断点

此命令获取 Sample.ps1 脚本中的所有行断点和变量断点。

Get-PSBreakpoint -Type Line, Variable -Script "Sample.ps1"

示例 9:获取在特定运行空间中设置的断点

在此示例中,将启动一个作业,并将一个断点设置为当运行 Set-PSBreakPoint 时中断。 运行空间存储在变量中,并通过“运行空间”参数传递到 Get-PSBreakPoint 命令。 然后,则可以在 $breakpoint 变量中查看断点。

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

$runspace = Get-Runspace -Id 1

$breakpoint = Get-PSBreakPoint -Runspace $runspace

参数

-Command

指定在指定命令名称上设置的命令断点数组。 输入命令名称,例如 cmdlet 或函数的名称。

类型:String[]
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Id

指定此 cmdlet 获取的断点 ID。 将 ID 输入以逗号分隔的列表中。 还可以通过管道将断点 ID 传递给 Get-PSBreakpoint

类型:Int32[]
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Runspace

指定 Runspace 对象的 ID,以便可以与指定运行空间中的断点进行交互。

此参数已在 PowerShell 7.2 中添加。

类型:Runspace
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Script

指定包含断点的脚本数组。 输入一个或多个脚本文件的路径(可选)和名称。 如果省略路径,则默认位置为当前目录。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Type

指定此 cmdlet 获取的断点类型数组。 输入一个或多个类型。 此参数的可接受值为:

  • 线条
  • 命令
  • 变量

还可以通过管道将断点类型传递给 Get-PSBreakPoint

类型:BreakpointType[]
接受的值:Line, Variable, Command
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Variable

指定在指定变量名称上设置的变量断点数组。 输入不带美元符号的变量名称。

类型:String[]
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输入

Int32

可以通过管道将断点 ID 传递给此 cmdlet。

BreakpointType

可以通过管道将断点类型传递给此 cmdlet。

输出

CommandBreakpoint

LineBreakpoint

VariableBreakpoint

Breakpoint

此 cmdlet 返回表示会话中的断点的对象。

备注

PowerShell 包含 Get-PSBreakpoint 的以下别名:

  • 所有平台:
    • gbp