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

on

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

off

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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

off
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 .

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

on
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

on
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

on
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Vous ne pouvez pas pipeliner l’entrée vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne aucune sortie.