Condividi tramite


Set-PSDebug

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

Sintassi

on

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

off

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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

off
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

on
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

on
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

on
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

None

Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output.