Set-PSDebug
Ativa e desativa os recursos de depuração de script, define o nível de rastreamento e alterna o modo estrito.
Sintaxe
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 2
script 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 2
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 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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.
Tipo: | Int32 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.