Set-PSDebug

Ativa e desativa os recursos de depuração de script, define o nível de rastreamento e alterna o modo estrito.

Syntax

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

Description

O Set-PSDebug cmdlet ativa e desativa os recursos de depuração de script, define o nível de rastreamento e alterna o modo estrito. Por padrão, os recursos de depuração do PowerShell estão desativados.

Quando o parâmetro Trace tem um valor de 1, cada linha de script é rastreada à medida que é executada. Quando o parâmetro tem um valor de , atribuições variáveis, chamadas de função e chamadas de 2script também são rastreadas. Se o parâmetro Step for especificado, você será solicitado antes que cada linha do script seja executada.

Exemplos

Exemplo 1: Definir o nível de rastreamento

Este exemplo define o nível de rastreamento como e, em 2seguida, executa um script que exibe os números 1, 2 e 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 = ''.

Exemplo 2: Ativar a revisão

Este exemplo ativa a revisão e executa um script que exibe os números 1, 2 e 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

Exemplo 3: Usar o modo estrito

Este exemplo coloca o PowerShell no modo estrito e tenta acessar uma variável que não tem um valor atribuído.

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

Exemplo 4: Desativar recursos de depuração

Este exemplo desativa todos os recursos de depuração e executa um script que exibe os números 1, 2 e 3.

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

Parâmetros

-Off

Desativa todos os recursos de depuração de script.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Step

Ativa a revisão de script. Antes de cada linha ser executada, o PowerShell solicita que você pare, continue ou insira um novo nível de intérprete para inspecionar o estado do script.

A especificação do parâmetro Step define automaticamente um nível de rastreamento de 1.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Strict

Especifica que as variáveis devem receber um valor antes de serem referenciadas em um script. Se uma variável for referenciada antes de um valor ser atribuído, o PowerShell retornará um erro de exceção. Isto é equivalente a Set-StrictMode -Version 1. Para obter mais informações, consulte Set-StrictMode.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Trace

Especifica o nível de rastreamento para cada linha em um script. Cada linha é rastreada à medida que é executada.

Os valores aceitáveis para este parâmetro são os seguintes:

  • 0: Desative o rastreamento de script.
  • 1: Rastreie linhas de script à medida que são executadas.
  • 2: Rastreie linhas de script, atribuições variáveis, chamadas de função e scripts.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

None

Este cmdlet não retorna nenhuma saída.