当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 获取 PSBreakpoint (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:06:44 浏览:17 分类:玩电脑

获取 PSBreakpoint (Microsoft.PowerShell.Utility)


获取 PS 断点

模块 :Microsoft.PowerShell.Utility

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

句法

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

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

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

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

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

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

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

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

必需的:

True

接受管道输入:

False

接受通配符:

False

-Id

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

类型 :

Int32[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Runspace

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

此参数是在 PowerShell 7.2 中添加的。

类型 :

运行空间

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Script

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

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Type

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

  • 线
  • 命令
  • 多变的

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

类型 :

断点类型[]

接受的值:

行、变量、命令

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Variable

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

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

输入

Int32

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

断点类型

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

输出

命令断点

行断点

变量断点

断点

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

笔记

PowerShell 包含以下 Get-PSBreakpoint 别名:

  • 所有平台:

      gbp

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯