Set-PSDebug
Activa y desactiva las características de depuración de scripts, establece el nivel de seguimiento y alterna el modo strict.
Sintaxis
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
Set-PSDebug
[-Off]
[<CommonParameters>]
Description
El cmdlet Set-PSDebug
activa y desactiva las características de depuración de scripts, establece el nivel de seguimiento y alterna el modo strict. De forma predeterminada, las características de depuración de PowerShell están desactivadas.
Cuando el parámetro Trace tiene un valor de 1
, cada línea de script se realiza un seguimiento a medida que se ejecuta. Cuando el parámetro tiene un valor de 2
, también se realiza un seguimiento de las asignaciones de variables, las llamadas de función y las llamadas de script. Si se especifica el parámetro step
Ejemplos
Ejemplo 1: Establecimiento del nivel de seguimiento
En este ejemplo se establece el nivel de seguimiento en 2
y, a continuación, se ejecuta un script que muestra los números 1, 2 y 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 = ''.
Ejemplo 2: Activar la ejecución paso a paso
En este ejemplo se activa la ejecución paso a paso y, a continuación, se ejecuta un script que muestra los números 1, 2 y 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
Ejemplo 3: Usar el modo strict
En este ejemplo se coloca PowerShell en modo estricto e intenta acceder a una variable que no tiene un valor asignado.
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
Ejemplo 4: Desactivar las características de depuración
En este ejemplo se desactivan todas las características de depuración y, a continuación, se ejecuta un script que muestra los números 1, 2 y 3.
Set-PSDebug -Off; foreach ($i in 1..3) {$i}
1
2
3
Parámetros
-Off
Desactiva todas las características de depuración de scripts.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Step
Activa la ejecución paso a paso del script. Antes de que se ejecute cada línea, PowerShell le pedirá que detenga, continúe o escriba un nuevo nivel de intérprete para inspeccionar el estado del script.
Al especificar el parámetro step de
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Strict
Especifica que se debe asignar un valor a las variables antes de hacer referencia a ellas en un script. Si se hace referencia a una variable antes de asignar un valor, PowerShell devuelve un error de excepción. Esto equivale a Set-StrictMode -Version 1
. Para obtener más información, vea Set-StrictMode.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Trace
Especifica el nivel de seguimiento de cada línea de un script. Cada línea se realiza un seguimiento a medida que se ejecuta.
Los valores aceptables para este parámetro son los siguientes:
- 0: Desactivar el seguimiento de scripts.
- 1: Seguimiento de líneas de script a medida que se ejecutan.
- 2: Seguimiento de líneas de script, asignaciones de variables, llamadas de función y scripts.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
No se puede canalización de la entrada a este cmdlet.
Salidas
None
Este cmdlet no devuelve ninguna salida.