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 2
variables, 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 2
de 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.