Get-PSBreakpoint

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

语法

Line (默认值)

Get-PSBreakpoint
    [[-Script] <String[]>]
    [-Runspace <Runspace>]
    [<CommonParameters>]

Command

Get-PSBreakpoint
    [[-Script] <String[]>]
    -Command <String[]>
    [-Runspace <Runspace>]
    [<CommonParameters>]

Variable

Get-PSBreakpoint
    [[-Script] <String[]>]
    -Variable <String[]>
    [-Runspace <Runspace>]
    [<CommonParameters>]

Type

Get-PSBreakpoint
    [[-Script] <String[]>]
    [-Type] <BreakpointType[]>
    [-Runspace <Runspace>]
    [<CommonParameters>]

Id

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 脚本中的 Increment 函数上创建断点,并将断点对象保存在 $B 变量中。 变量中断点对象的 $B 属性通过管道传递给 Get-PSBreakpoint cmdlet 以显示断点信息。

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

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

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

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

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

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

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

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

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

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

示例 7:按变量获取断点

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

Get-PSBreakpoint -Variable "Index, Swap"

示例 8:获取文件中的所有行断点和变量断点

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

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

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

在此示例中,启动作业,并在运行 Set-PSBreakpoint 时将断点设置为中断。 runspace 存储在变量中,并使用 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[]

默认值:None
支持通配符:False
不显示:False

参数集

Command
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Id

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

参数属性

类型:

Int32[]

默认值:None
支持通配符:False
不显示:False

参数集

Id
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Runspace

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

此参数已在 PowerShell 7.2 中添加。

参数属性

类型:Runspace
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Script

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

Script
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False
Variable
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False
Command
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False
Type
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Type

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

  • 线条
  • 指令
  • 变量

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

参数属性

类型:

BreakpointType[]

默认值:None
接受的值:Line, Variable, Command
支持通配符:False
不显示:False

参数集

Type
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Variable

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

Variable
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

Int32

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

BreakpointType

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

输出

CommandBreakpoint

LineBreakpoint

VariableBreakpoint

Breakpoint

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

备注

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

  • 所有平台:
    • gbp