Condividi tramite


Get-PSBreakpoint

Ottiene i punti di interruzione impostati nella sessione corrente.

Sintassi

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

Descrizione

Il Get-PSBreakPoint cmdlet ottiene i punti di interruzione impostati nella sessione corrente. È possibile usare i parametri del cmdlet per ottenere specifici punti di interruzione.

Un punto di interruzione è un punto in un comando o in uno script in cui l'esecuzione viene interrotta temporaneamente per consentire l'analisi delle istruzioni. Get-PSBreakpoint è uno dei diversi cmdlet progettati per il debug di script e comandi di PowerShell. Per altre informazioni sul debugger di PowerShell, vedere about_Debuggers.

Esempio

Esempio 1: Ottenere tutti i punti di interruzione per tutti gli script e le funzioni

Questo comando ottiene tutti i punti di interruzione impostati in tutti gli script e in tutte le funzioni della sessione corrente.

Get-PSBreakpoint

Esempio 2: Ottenere punti di interruzione in base all'ID

Questo comando ottiene il punto di interruzione con 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

Esempio 3: inviare tramite pipe un ID a 'Get-PSBreakpoint'

Questi comandi illustrano come ottenere un punto di interruzione inviando un ID punto di interruzione a Get-PSBreakpoint.

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

Il Set-PSBreakpoint cmdlet crea un punto di interruzione nella funzione Increment nello Sample.ps1 script e salva l'oggetto punto di interruzione nella $B variabile . La proprietà Id dell'oggetto punto di interruzione nella $B variabile viene inviata tramite pipe al Get-PSBreakpoint cmdlet per visualizzare le informazioni sul punto di interruzione.

Esempio 4: Ottenere punti di interruzione nei file di script specificati

Questo comando ottiene tutti i punti di interruzione nei Sample.ps1 file e SupportScript.ps1 .

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

Questo comando non ottiene altri punti di interruzione che potrebbero essere impostati in altri script o funzioni nella sessione.

Esempio 5: Ottenere punti di interruzione nei cmdlet specificati

Questo comando ottiene tutti i punti di interruzione comando impostati su Read-Host o Write-Host comandi nel Sample.ps1 file.

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

Esempio 6: Ottenere i punti di interruzione dei comandi in un file specificato

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

Questo comando ottiene tutti i punti di interruzione Command del file Sample.ps1.

Esempio 7: Ottenere punti di interruzione per variabile

Questo comando ottiene i punti di interruzione impostati sulle $Index variabili e $Swap nella sessione corrente.

Get-PSBreakpoint -Variable "Index, Swap"

Esempio 8: Ottenere tutti i punti di interruzione riga e variabile in un file

Questo comando ottiene tutti i punti di interruzione di riga e variabile nello Sample.ps1 script.

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

Esempio 9: Ottenere i punti di interruzione impostati in uno spazio di esecuzione specifico

In questo esempio viene avviato un processo e viene impostato un punto di interruzione per interrompere l'esecuzione quando viene eseguito Set-PSBreakPoint. Lo spazio di esecuzione viene archiviato in una variabile e passato al comando Get-PSBreakPoint con il parametro Runspace. È quindi possibile ispezionare il punto di interruzione nella variabile $breakpoint.

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

$runspace = Get-Runspace -Id 1

$breakpoint = Get-PSBreakPoint -Runspace $runspace

Parametri

-Command

Specifica una matrice di punti di interruzione dei comandi impostati sui nomi di comando specificati. Immettere i nomi dei comandi, ad esempio di un cmdlet o di una funzione.

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

-Id

Specifica gli ID dei punti di interruzione che questo cmdlet ottiene. Immettere gli ID in un elenco di valori delimitati da virgole. È anche possibile inviare tramite pipe gli ID dei punti di interruzione a Get-PSBreakpoint.

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

-Runspace

Specifica l'ID di un oggetto Runspace in modo da poter interagire con i punti di interruzione nello spazio di esecuzione specificato.

Questo parametro è stato aggiunto in PowerShell 7.2.

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

-Script

Specifica una matrice di script che contengono i punti di interruzione. Immettere il percorso (facoltativo) e i nomi di uno o più file script. Se si omette il percorso, l'impostazione predefinita è la directory corrente.

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

-Type

Specifica una matrice di tipi di punti di interruzione che ottiene questo cmdlet. Immettere uno o più tipi. I valori validi per questo parametro sono:

  • A linee
  • Comando
  • Variabile

È anche possibile inviare tramite pipe i tipi di punti di interruzione a 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

Specifica una matrice di punti di interruzione di variabile impostati sui nomi di variabile specificati. Immettere i nomi delle variabili senza il segno di dollaro.

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

Input

Int32

È possibile inviare tramite pipe gli ID dei punti di interruzione a questo cmdlet.

BreakpointType

È possibile inviare tramite pipe i tipi di punti di interruzione a questo cmdlet.

Output

CommandBreakpoint

LineBreakpoint

VariableBreakpoint

Breakpoint

Questo cmdlet restituisce oggetti che rappresentano i punti di interruzione nella sessione.

Note

PowerShell include gli alias seguenti per Get-PSBreakpoint:

  • Tutte le piattaforme:
    • gbp