Compartir a través de


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 Set-PSDebug cmdlet 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 , también se realiza un seguimiento de las asignaciones de 2variables, las llamadas de función y las llamadas de script. Si se especifica el parámetro Step , se le pedirá antes de que se ejecute cada línea del script.

Ejemplos

Ejemplo 1: Establecimiento del nivel de seguimiento

En este ejemplo se establece el nivel 2de seguimiento en 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 de scripts. 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 , se establece automáticamente un nivel de seguimiento de 1.

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. Es equivalente 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 pueden canalizar objetos a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.