Set-PSDebug

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Cmdlet Set-PSDebug
Rôle Mode pas à pas et trace
Voir aussi Set-PSBreakpoint · Trace-command

Set-PSDebug active des fonctions de débogage globales : mode strict, exécution pas à pas et trace.

Usage

Set-PSDebug -Strict   # signale les variables non initialisées
Set-PSDebug -Step     # exécution pas à pas
$host.EnterNestedPrompt()
Set-PSDebug -Off      # désactive

Points d'arrêt maison

Script de création d'un point d'arrêt ouvrant une invite imbriquée :

function Start-Debug {
    $scriptName = $MyInvocation.ScriptName
    function prompt {
        $ctx = if ([string]::IsNullOrEmpty($scriptName)) { 'globalscope' } else { $scriptName }
        "Debugging[$ctx]> "
    }
    $host.EnterNestedPrompt()
}
Set-Alias bp Start-Debug

Cmdlets de gestion des points d'arrêt : Set-PSBreakpoint, Get-PSBreakpoint, Disable-PSBreakpoint, Enable-PSBreakpoint, Remove-PSBreakpoint, Get-PSCallStack.

Mode trace

Set-PSDebug -Trace 1   # trace chaque ligne exécutée
Set-PSDebug -Trace 2   # trace détaillée (variables, appels)

Pour une trace ciblée d'une commande, voir Trace-command.

Voir aussi