Condividi tramite


Enable-PSBreakpoint

Abilita i punti di interruzione nella console corrente.

Sintassi

Enable-PSBreakpoint
      [-PassThru]
      [-Breakpoint] <Breakpoint[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-PSBreakpoint
      [-PassThru]
      [-Id] <Int32[]>
      [-Runspace <Runspace>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Descrizione

Il Enable-PSBreakpoint cmdlet abilita nuovamente i punti di interruzione disabilitati. È possibile usarlo per abilitare tutti i punti di interruzione o punti di interruzione specifici specificando oggetti o ID punto di interruzione.

Un punto di interruzione è un punto in uno script in cui l'esecuzione si arresta temporaneamente in modo da poter esaminare lo stato dello script. I punti di interruzione appena creati vengono abilitati automaticamente, ma possono essere disabilitati tramite Disable-PSBreakpoint.

Tecnicamente, questo cmdlet modifica il valore della proprietà Enabled di un oggetto punto di interruzione su True.

Enable-PSBreakpoint è uno dei diversi cmdlet progettati per il debug di script di PowerShell. Per altre informazioni sul debugger di PowerShell, vedere about_Debuggers.

Esempio

Esempio 1: Abilitare tutti i punti di interruzione

In questo esempio vengono attivati tutti i punti di interruzione nella sessione corrente.

Get-PSBreakpoint | Enable-PSBreakpoint

Usando gli alias, questo esempio può essere abbreviato come gbp | ebp.

Esempio 2: Abilitare i punti di interruzione per ID

In questo esempio vengono attivati più punti di interruzione usando gli ID dei punti di interruzione.

Enable-PSBreakpoint -Id 0, 1, 5

Esempio 3: Abilitare un punto di interruzione disabilitato

In questo esempio viene riattivato un punto di interruzione disabilitato.

$B = Set-PSBreakpoint -Script "sample.ps1" -Variable Name -PassThru
$B | Enable-PSBreakpoint -PassThru

AccessMode : Write
Variable   : Name
Action     :
Enabled    : False
HitCount   : 0
Id         : 0
Script     : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1

AccessMode : Write
Variable   : Name
Action     :
Enabled    : True
HitCount   : 0
Id         : 0
Script     : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1

Set-PSBreakpoint crea un punto di interruzione nella variabile Name nello Sample.ps1 script che salva l'oggetto punto di interruzione nella $B variabile . Il parametro PassThru visualizza il valore della proprietà Enabled del punto di interruzione è False.

Enable-PSBreakpoint riabilita il punto di interruzione. Anche in questo caso, usando il parametro PassThru si noterà che il valore della proprietà Enabled è True.

Esempio 4: Abilitare i punti di interruzione usando una variabile

In questo esempio viene abilitato un set di punti di interruzione usando gli oggetti punto di interruzione.

$B = Get-PSBreakpoint -Id 3, 5
Enable-PSBreakpoint -Breakpoint $B

Get-PSBreakpoint ottiene i punti di interruzione e li salva nella $B variabile. Usando il parametro Punto di interruzione, Enable-PSBreakpoint abilita i punti di interruzione.

Questo esempio equivale all'esecuzione Enable-PSBreakpoint -Id 3, 5di .

Esempio 5: Abilitare un punto di interruzione in uno spazio di esecuzione

In questo esempio, un processo viene avviato con un punto di interruzione è impostato su break e quindi disabilitato. Lo spazio di esecuzione viene archiviato in una variabile e passato al comando Get-PSBreakPoint con il parametro Runspace. L'output di viene inviato tramite pipe a Enable-PSBreakpoint per abilitare il punto di Get-PSBreakPoint interruzione nello spazio di esecuzione.

Start-Job -ScriptBlock {
    $bp = Set-PSBreakpoint -Command Start-Sleep
    Disable-PSBreakpoint $bp
    Start-Sleep -Seconds 10
}

$runspace = Get-Runspace -Id 1

Get-PSBreakPoint -Runspace $runspace | Enable-Breakpoint -Runspace $runspace

Parametri

-Breakpoint

Specifica i punti di interruzione da abilitare. Specificare una variabile contenente punti di interruzione o un comando che ottiene oggetti punto di interruzione, ad esempio Get-PSBreakpoint. È anche possibile inviare tramite pipe oggetti punto di interruzione a Enable-PSBreakpoint.

Tipo:Breakpoint[]
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

Specifica i numeri ID dei punti di interruzione da abilitare. Il valore predefinito è tutti i punti di interruzione. Specificare l'ID per numero o in una variabile. Non è possibile inviare tramite pipe i numeri id a Enable-PSBreakpoint. Per trovare l'ID di un punto di interruzione, usare il Get-PSBreakpoint cmdlet .

Tipo:Int32[]
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PassThru

Restituisce un oggetto che rappresenta il punto di interruzione abilitato. Per impostazione predefinita, questo cmdlet non genera alcun output.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:Runspace
Alias:RunspaceId
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Breakpoint

È possibile inviare tramite pipe un oggetto punto di interruzione a questo cmdlet.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

Breakpoint

Quando si usa il parametro PassThru , questo cmdlet restituisce un oggetto punto di interruzione che rappresenta il punto di interruzione abilitato.

Note

PowerShell include gli alias seguenti per Enable-PSBreakpoint:

  • Tutte le piattaforme:

    • ebp
  • Il Enable-PSBreakpoint cmdlet non genera un errore se si tenta di abilitare un punto di interruzione già abilitato. Di conseguenza, è possibile abilitare tutti i punti di interruzione senza errori, anche se solo alcuni sono disabilitati.

  • I punti di interruzione vengono abilitati quando vengono creati usando il Set-PSBreakpoint cmdlet . Non è necessario abilitare i punti di interruzione appena creati.