Get-PSBreakpoint

取得目前會話中設定的斷點。

Syntax

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>]

Description

Cmdlet Get-PSBreakPoint 會取得目前會話中設定的斷點。 您可以使用 Cmdlet 參數來取得特定的斷點。

斷點是命令或文稿中的一個點,執行會暫時停止,以便您可以檢查指示。 Get-PSBreakpoint 是數個專為偵錯 PowerShell 腳本和命令而設計的 Cmdlet 之一。 如需 PowerShell 調試程式的詳細資訊,請參閱 about_Debuggers

範例

範例 1:取得所有腳本和函式的所有斷點

此命令會取得目前會話中所有腳本和函式上設定的所有斷點。

Get-PSBreakpoint

範例 2:依標識碼取得斷點

此命令會取得斷點標識碼為 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:使用管線將標識符傳送至 'Get-PSBreakpoint'

這些命令會示範如何將斷點標識碼管線傳送至 Get-PSBreakpoint,以取得斷點。

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

Cmdlet 會在 Set-PSBreakpoint 腳本中的 Increment 函 Sample.ps1 式上建立斷點,並將斷點物件儲存在變數中 $B變數中$B斷點物件的Id屬性會管道傳送至 Get-PSBreakpoint Cmdlet 以顯示斷點資訊。

範例 4:取得指定文本檔案中的斷點

此命令會取得和 SupportScript.ps1 檔案中的所有Sample.ps1斷點。

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

此命令不會取得其他斷點,這些斷點可能會在其他腳本或會話中的函式上設定。

範例 5:取得指定 Cmdlet 中的斷點

此命令會取得在 檔案中 Read-Host 設定或 Write-Host 命令的所有命令 Sample.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:取得在特定 Runspace 中設定的斷點

在此範例中,會啟動作業,並在執行 時 Set-PSBreakPoint 將斷點設定為中斷。 Runspace 會儲存在變數中,並使用 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 或函式的名稱。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定這個 Cmdlet 取得的斷點標識碼。 在逗號分隔清單中輸入標識碼。 您也可以使用管線將斷點識別碼傳送至 Get-PSBreakpoint

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Runspace

指定 Runspace 物件的識別碼 ,讓您可以在指定的 Runspace 中與斷點互動。

此參數已在PowerShell 7.2中新增。

Type:Runspace
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

指定包含斷點的文稿陣列。 輸入一或多個腳本檔案的路徑(選擇性)和名稱。 如果您省略路徑,預設位置是目前目錄。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Type

指定這個 Cmdlet 取得的斷點類型數位。 輸入一或多個類型。 此參數可接受的值為:

  • 線條
  • Command
  • 變數

您也可以使用管線將斷點類型傳送至 Get-PSBreakPoint

Type:BreakpointType[]
Accepted values:Line, Variable, Command
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Variable

指定在指定變數名稱上設定的變數斷點陣列。 輸入不含貨幣符號的變數名稱。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

輸入

Int32

您可以使用管線將斷點標識碼傳送至此 Cmdlet。

BreakpointType

您可以使用管線將斷點類型傳送至此 Cmdlet。

輸出

CommandBreakpoint

LineBreakpoint

VariableBreakpoint

Breakpoint

此 Cmdlet 會傳回物件,代表會話中的斷點。

備註

PowerShell 包含下列的 Get-PSBreakpoint別名:

  • 所有平臺:
    • gbp