Partager via


Set-PSDebug

Active et désactive les fonctionnalités de débogage de script, définit le niveau de trace et bascule le mode strict.

Syntaxe

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

Description

L’applet de commande Set-PSDebug active et désactive les fonctionnalités de débogage de script, définit le niveau de trace et bascule le mode strict. Par défaut, les fonctionnalités de débogage PowerShell sont désactivées.

Lorsque le paramètre Trace a une valeur de 1, chaque ligne de script est tracée lors de son exécution. Lorsque le paramètre a une valeur de 2, les affectations de variables, les appels de fonction et les appels de script sont également suivis. Si l’étape est spécifiée, vous êtes invité à exécuter chaque ligne du script.

Exemples

Exemple 1 : Définir le niveau de trace

Cet exemple montre comment définir le niveau de trace sur 2, puis exécuter un script qui affiche les nombres 1, 2 et 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 = ''.

Exemple 2 : Activer l’exécution pas à pas

Cet exemple active l’exécution pas à pas, puis exécute un script qui affiche les nombres 1, 2 et 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

Exemple 3 : Utiliser le mode strict

Cet exemple montre comment mettre PowerShell en mode strict et tenter d’accéder à une variable qui n’a pas de valeur affectée.

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

Exemple 4 : Désactiver les fonctionnalités de débogage

Cet exemple montre comment désactiver toutes les fonctionnalités de débogage, puis exécuter un script qui affiche les nombres 1, 2 et 3.

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

Paramètres

-Off

Désactive toutes les fonctionnalités de débogage de script.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Step

Active l’exécution pas à pas du script. Avant l’exécution de chaque ligne, PowerShell vous invite à arrêter, continuer ou entrer un nouveau niveau d’interpréteur pour inspecter l’état du script.

La spécification du paramètre étape définit automatiquement un niveau de trace de 1.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Strict

Spécifie que les variables doivent être affectées à une valeur avant d’être référencées dans un script. Si une variable est référencée avant l’affectation d’une valeur, PowerShell retourne une erreur d’exception. Cela équivaut à Set-StrictMode -Version 1. Pour plus d’informations, consultez Set-StrictMode.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Trace

Spécifie le niveau de trace pour chaque ligne d’un script. Chaque ligne est tracée au fur et à mesure de son exécution.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • 0 : Désactiver le suivi des scripts.
  • 1 : Tracez les lignes de script à mesure qu’elles s’exécutent.
  • 2 : Tracez les lignes de script, les affectations de variables, les appels de fonction et les scripts.
Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne aucune sortie.