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, 5
di .
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
È possibile inviare tramite pipe un oggetto punto di interruzione a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
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.