Share 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.

Syntax

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 la valeur 1, chaque ligne de script est tracée au fur et à mesure 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é avant l’exécution de 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 le pas à pas

Cet exemple montre comment activer le pas à pas, puis exécuter 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
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Strict

Spécifie qu’une valeur doit être affectée aux variables avant d’être référencées dans un script. Si une variable est référencée avant l’attribution 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
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 de script.
  • 1 : Tracez les lignes de script pendant leur exécution.
  • 2 : Tracer les lignes de script, les affectations de variables, les appels de fonction et les scripts.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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.