Partager via


Set-PSDebug

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

Syntaxe

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

Description

L’applet Set-PSDebug de commande 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 1, chaque ligne de script est tracée lors de son exécution. Lorsque le paramètre a la valeur , les affectations de 2variables, les appels de fonction et les appels de script sont également suivis. Si le paramètre Step est spécifié, 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 2de trace, 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 du 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 Step 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. Ceci é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 pas de sortie.