Set-PSDebug
Attiva e disattiva le funzionalità di debug degli script, imposta il livello di traccia e attiva la modalità strict.
Sintassi
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
Set-PSDebug
[-Off]
[<CommonParameters>]
Descrizione
Il cmdlet Set-PSDebug
attiva e disattiva le funzionalità di debug degli script, imposta il livello di traccia e attiva o disattiva la modalità strict. Per impostazione predefinita, le funzionalità di debug di PowerShell sono disattivate.
Quando il parametro trace ha un valore 1
, ogni riga di script viene tracciata durante l'esecuzione. Quando il parametro ha un valore di 2
, vengono tracciate anche assegnazioni di variabili, chiamate di funzione e chiamate di script. Se viene specificato il parametro passaggio, viene richiesto di eseguire ogni riga dello script.
Esempio
Esempio 1: Impostare il livello di traccia
In questo esempio il livello di traccia viene impostato su 2
e quindi viene eseguito uno script che visualizza i numeri 1, 2 e 3.
Set-PSDebug -Trace 2; foreach ($i in 1..3) {$i}
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ($i in >>>> 1..3) {$i}
DEBUG: ! SET $foreach = 'IEnumerator'.
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG: ! SET $i = '1'.
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
1
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG: ! SET $i = '2'.
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
2
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG: ! SET $i = '3'.
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
3
DEBUG: 1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG: ! SET $foreach = ''.
Esempio 2: Attivare l'esecuzione delle istruzioni
Questo esempio attiva l'esecuzione di istruzioni e quindi esegue uno script che visualizza i numeri 1, 2 e 3.
Set-PSDebug -Step; foreach ($i in 1..3) {$i}
Continue with this operation?
1+ Set-PSDebug -Step; foreach ($i in >>>> 1..3) {$i}
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A
DEBUG: 1+ Set-PSDebug -Step; foreach ($i in >>>> 1..3) {$i}
1
2
3
Esempio 3: Usare la modalità strict
Questo esempio inserisce PowerShell in modalità strict e tenta di accedere a una variabile che non ha un valore assegnato.
Set-PSDebug -Strict; $NewVar
The variable '$NewVar' cannot be retrieved because it has not been set.
At line:1 char:22
+ Set-PSDebug -Strict; $NewVar
Esempio 4: Disattivare le funzionalità di debug
Questo esempio disattiva tutte le funzionalità di debug e quindi esegue uno script che visualizza i numeri 1, 2 e 3.
Set-PSDebug -Off; foreach ($i in 1..3) {$i}
1
2
3
Parametri
-Off
Disattiva tutte le funzionalità di debug degli script.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Step
Attiva l'esecuzione dello script. Prima dell'esecuzione di ogni riga, PowerShell richiede di arrestare, continuare o immettere un nuovo livello di interprete per controllare lo stato dello script.
Se si specifica il parametro passaggio, viene impostato automaticamente un livello di traccia di 1
.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Strict
Specifica che alle variabili deve essere assegnato un valore prima di essere fatto riferimento in uno script. Se si fa riferimento a una variabile prima dell'assegnazione di un valore, PowerShell restituisce un errore di eccezione. Equivale a Set-StrictMode -Version 1
. Per altre informazioni, vedere Set-StrictMode.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Trace
Specifica il livello di traccia per ogni riga in uno script. Ogni riga viene tracciata durante l'esecuzione.
I valori accettabili per questo parametro sono i seguenti:
- 0: Disattivare la traccia dello script.
- 1: Tracciare le righe di script durante l'esecuzione.
- 2: Tracciare le righe di script, le assegnazioni di variabili, le chiamate di funzione e gli script.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Questo cmdlet non restituisce alcun output.