Condividi tramite


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 2e 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.