Compartilhar via


Set-PSDebug

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

Sintaxe

on

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

off

Set-PSDebug
    [-Off]
    [<CommonParameters>]

Description

O cmdlet Set-PSDebug 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 2, atribuições de variáveis, chamadas de função e chamadas de script também são rastreadas. Se o parâmetro Etapa 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 2e, em seguida, 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 etapa

Este exemplo ativa a etapa 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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

off
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Step

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

Especificar o parâmetro etapa define automaticamente um nível de rastreamento de .

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

on
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Strict

Especifica que as variáveis devem ser atribuídas a 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. Isso é equivalente a Set-StrictMode -Version 1. Para obter mais informações, consulte Set-StrictMode.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

on
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 esse parâmetro são os seguintes:

  • 0: Desativar o rastreamento de script.
  • 1: Rastrear linhas de script à medida que são executadas.
  • 2: Rastrear linhas de script, atribuições de variáveis, chamadas de função e scripts.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

on
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível transferir objetos para esse cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.