Turns script debugging features on and off.
Syntax
Set-PSDebug [-trace int] [-step] [-strict] [CommonParameters]
Set-PSDebug [-off] [CommonParameters]
Key
-trace int
Set the trace level:
0 - Off
1 - trace script lines as they are executed
2 - trace script lines, variable assignments, function calls and scripts.
-step
Turn on script stepping. Before each line is run, PowerShell will prompt
to stop, continue or enter a new interpreter level to inspect the state
of the script. (Step automatically sets Trace =1)
-strict
Throw an exception if a variable is referenced before being assigned a value.
-off
Turn off all debugging features.
CommonParameters:
-Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable,
-OutBuffer -OutVariable.
Examples
Set the trace level to 2:
PS C:\> set-psdebug -trace 2;
Turns stepping on:
PS C:\> set-psdebug -step
Turn off all debugging features:
PS C:\> set-psdebug -off
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it" ~ Brian W. Kernighan
Related PowerShell Cmdlets:
Write-Debug - Write a debug message to the host display.
Set-StrictMode - Enforce coding rules in expressions & scripts.
Equivalent bash command: set -x / +x - turn debug on/off, or bash -x myscript.sh