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.ps1
和 SupportScript.ps1
文件中的所有断点。
Get-PSBreakpoint -Script "Sample.ps1, SupportScript.ps1"
此命令不会获取可能在会话中的其他脚本中或函数上设置的其他断点。
示例 5:获取指定 cmdlet 中的断点
此命令获取在 Sample.ps1
文件中的 Read-Host
或 Write-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 |
输入
可以通过管道将断点 ID 传递给此 cmdlet。
可以通过管道将断点类型传递给此 cmdlet。
输出
此 cmdlet 返回表示会话中的断点的对象。
备注
PowerShell 包含 Get-PSBreakpoint
的以下别名:
- 所有平台:
gbp