Set-PSDebug

Attiva e disattiva le funzionalità di debug degli script, imposta il livello di traccia e attiva e disattiva la modalità strict.

Sintassi

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

Descrizione

Il Set-PSDebug cmdlet attiva e disattiva le funzionalità di debug degli script, imposta il livello di traccia e attiva la modalità strict. Per impostazione predefinita, le funzionalità di debug di PowerShell sono disattivate.

Quando il parametro Trace ha un valore , 1ogni riga di script viene tracciata durante l'esecuzione. Quando il parametro ha un valore , 2vengono tracciate anche le assegnazioni di variabili, le chiamate di funzione e le chiamate di script. Se viene specificato il parametro Step , viene richiesto di eseguire ogni riga dello script.

Esempio

Esempio 1: Impostare il livello di traccia

Questo esempio imposta il livello di traccia su 2e quindi esegue 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.

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

-Step

Attiva l'esecuzione passo a passo 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 Step , viene impostato automaticamente un livello di traccia di 1.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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. che equivale a Set-StrictMode -Version 1. Per altre informazioni, vedere Set-StrictMode.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

None

Questo cmdlet non restituisce output.