Debug Powershell

De Linuxmemo.

Sommaire

[modifier] Affichage des messages d'erreur

[modifier] Mode verbose

Write-Verbose
$VerbosePreference = [ "SilentlyContinue" | "Continue" | "Stop" | "Inquire" ]

[modifier] Mode debug

Write-Debug
$DebugPreference = [ SilentlyContinue | Continue | Stop | Inquire ]

[modifier] mode warning

Write-Warning
$WarningPreference = [ SilentlyContinue | Continue | Stop | Inquire ]

Possible d'utiliser les paramètres des commandelettes "-Verbose:param" "-Debug:param" "-Warning:param"

[modifier] Forcer la définition des variable

Set-PSDebug -Strict
Set-PSDebug -Off

[modifier] Exécution "pas à pas"

Set-PSDebug -Step

(S) suspend entrée dans sous shell, "exit" pour sortir

Set-PSDebug -Off

[modifier] Points d’arrêt

Set-PsBreakpoint
Get-PsBreakpoint
Disable-PsBreakpoint
Enable-PsBreakpoint
Remove-PsBreakpoint
Get-PsCallStack

Les points d’arrêt se positionnent sur une commande:

Set-PsBreakpoint -command Get-DiskFreeSpace

Commande du déboggeur:

s, stepInto         Pas à pas (effectuer un pas à pas détaillé dans les fonctions, les scripts, etc.)
v, stepOver         Exécuter un pas à pas jusqu'à l'instruction suivante (pas à pas principal dans les fonctions, les scripts, etc.)
o, stepOut          Sortir de la fonction actuelle, du script actuel, etc.
c, continue         Continuer l’exécution
q, quit             Arrêter l’exécution et quitter le débogueur
d, detach           Continuez l'opération et détachez le débogueur.
k, Get-PSCallStack  Afficher la pile des appels
l, list             Répertorier le code source pour le script actuel.  
                    Utilisez "list" pour commencer à la ligne actuelle, "list <m>"  
                    pour commencer à la ligne <m>, et "list <m> <n>" pour répertorier <n> 
                    lignes à partir de la ligne <m>
<entrée>            Répéter la dernière commande s'il s'agissait de stepInto, stepOver ou list
?, h                affiche ce message d’aide.

Dans ISE: N'est possible que sur des fichiers enregistrés.

  1. sélectionner une commande
  2. poser un point d’arrêt
  3. [F5]

[modifier] Mode "trace"

Set-PSDebug -Trace [ 1 | 2 ]
ou avec
Trace-Command
Outils personnels