Condividi tramite


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 dello script, imposta il livello di traccia e attiva la modalità rigorosa. Per impostazione predefinita, le funzionalità di debug di PowerShell sono disattivate.

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

Esempio

Esempio 1: Impostare il livello di traccia

In questo esempio viene impostato il livello di traccia 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

In questo esempio viene attivata l'esecuzione di 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à rigorosa

Questo esempio inserisce PowerShell in modalità rigorosa 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.

Specificando il parametro Passaggio imposta 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 le variabili devono essere assegnate a un valore prima di essere fatto riferimento in uno script. Se una variabile viene fatto riferimento 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 righe di script, assegnazioni di variabili, chiamate di funzione e script.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Non è possibile eseguire l'input della pipeline per questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output.