powershellscripts.com

Tutorials  PowerShell Cmdlet Help for Set-PSDebug



NAME
Set-PSDebug

SYNOPSIS
Turns script debugging features on and off, sets the trace level, and toggles strict mode.

SYNTAX
Set-PSDebug [-Off] []

Set-PSDebug [-Step] [-Strict] [-Trace ] []


DESCRIPTION
The Set-PSDebug cmdlet turns script debugging features on and off, sets the trace level, and toggles strict mode.

When the Trace parameter is set to 1, each line of script is traced as it is executed. When the parameter is set to
2, variable assignments, function calls, and script calls are also traced. If the Step parameter is specified, you
are prompted before each line of the script is executed.


PARAMETERS
-Off []
Turns off all script debugging features.

Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For mor
e information, see Set-StrictMode.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Step []
Turns on script stepping. Before each line is run, the user is prompted to stop, continue, or enter a new inter
preter level to inspect the state of the script.

Note: Specifying the Step parameter automatically sets a Trace level of 1.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Strict []
Specifies that the interpreter should throw an exception if a variable is referenced before a value is assigned
to the variable.

Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For mor
e information, see Set-StrictMode.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Trace
Specifies the trace level:
0 - Turn script tracing off
1 - Trace script lines as they are executed
2 - Trace script lines, variable assignments, function calls, and scripts.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
None
You cannot pipe input to this cmdlet.


OUTPUTS
None
This cmdlet does not return any output.


NOTES





-------------------------- EXAMPLE 1 --------------------------

C:\PS>set-psdebug -trace 2; foreach ($i in 1..3) {$i}

DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
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}
2
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
3


Description
-----------
This command sets the trace level to 2, and then runs a script that displays the numbers 1, 2, and 3.





-------------------------- EXAMPLE 2 --------------------------

C:\PS>set-psdebug -step; foreach ($i in 1..3) {$i}

DEBUG: 1+ 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


Description
-----------
This command turns on stepping and then
runs a script that displays the numbers 1, 2, and 3.





-------------------------- EXAMPLE 3 --------------------------

C:\PS>set-psdebug -off; foreach ($i in 1..3) {$i}

1
2
3


Description
-----------
This command turns off all debugging features, and then runs a script that displays the numbers 1, 2, and 3.





-------------------------- EXAMPLE 4 --------------------------

C:\PS>set-psdebug -strict; $NewVar

The variable $NewVar cannot be retrieved because it has not been set yet.
At line:1 char:28
+ Set-PsDebug -strict;$NewVar <<<<


Description
-----------
This command puts the interpreter in strict mode, and attempts to access a variable that has not yet been set.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113398
about_Debuggers
Debug-Process
Set-PSBreakpoint
Set-StrictMode
Write-Debug