Trace-Command
Configura e inicia um rastreamento da expressão ou comando especificado.
Syntax
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Expression] <ScriptBlock>
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Command] <String>
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Description
O Trace-Command
cmdlet configura e inicia um rastreamento da expressão ou do comando especificado.
Ele funciona como Set-TraceSource, exceto que se aplica apenas ao comando especificado.
Exemplos
Exemplo 1: processamento de metadados de rastreamento, associação de parâmetros e uma expressão
Este exemplo inicia um rastreamento de processamento de metadados, associação de parâmetros e criação e destruição de cmdlets da Get-Process Notepad
expressão.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Ele usa o parâmetro Name para especificar as fontes de rastreamento, o parâmetro Expression para especificar o comando e o parâmetro PSHost para enviar a saída para o console. Como ele não especifica nenhuma opção de rastreamento ou opções de ouvinte, o comando usa os padrões:
- Tudo para as opções de rastreamento
- Nenhum para as opções do ouvinte
Exemplo 2: Rastrear as ações das operações ParameterBinding
Este exemplo rastreia as ações das operações ParameterBinding do PowerShell enquanto processa uma Get-Alias
expressão que recebe a entrada do pipeline.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
No Trace-Command
, o parâmetro InputObject passa um objeto para a expressão que está sendo processada durante o rastreamento.
O primeiro comando armazena a cadeia de caracteres i*
na $A
variável . O segundo comando usa o Trace-Command
cmdlet com a origem de rastreamento ParameterBinding. O parâmetro PSHost envia a saída para o console.
A expressão que está sendo processada é Get-Alias $Input
, em que a $Input
variável está associada ao parâmetro InputObject . O parâmetro InputObject passa a variável $A
para a expressão. Na verdade, o comando que está sendo processado durante o rastreamento é Get-Alias -InputObject $A" or "$A | Get-Alias
.
Parâmetros
-ArgumentList
Especifica os parâmetros e valores de parâmetro para o comando que está sendo rastreado. O alias para ArgumentList é Args. Esse recurso é especialmente útil para depuração parâmetros dinâmicos.
Para obter mais informações sobre o comportamento de ArgumentList, consulte about_Splatting.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
Especifica um comando que está sendo processado durante o rastreamento.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Debugger
Indica que o cmdlet envia a saída de rastreamento para o depurador. Você pode exibir a saída em qualquer modo de usuário ou depurador do modo kernel, ou ainda no Visual Studio. Esse parâmetro também seleciona o ouvinte de rastreamento padrão.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
Especifica a expressão que está sendo processada durante o rastreamento. Coloque a expressão entre chaves ({}
).
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Especifica um arquivo para o qual o cmdlet envia a saída de rastreamento. Esse parâmetro também seleciona o ouvinte de rastreamento do arquivo.
Type: | String |
Aliases: | PSPath, Path |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Força o comando a ser executado sem solicitar a confirmação do usuário. Usado com o parâmetro FilePath . Mesmo usando o parâmetro Force , o cmdlet não pode substituir as restrições de segurança.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica a entrada para a expressão que está sendo processada durante o rastreamento. Você pode inserir uma variável que representa a entrada que aceita a expressão ou passar um objeto por meio do pipeline.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListenerOption
Especifica dados opcionais para o prefixo de cada mensagem de rastreamento na saída. Os valores aceitáveis para esse parâmetro são:
- Nenhum
- Logicaloperationstack
- Datetime
- Timestamp
- ProcessId
- ThreadId
- Callstack
Nenhuma é o padrão.
Para especificar várias opções, separe-as com vírgulas, mas sem espaços, e coloque-as entre aspas, como "ProcessID ThreadID".
Type: | TraceOptions |
Accepted values: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifica uma matriz de componentes do PowerShell que são rastreados. Insira o nome da origem de rastreamento de cada componente. Caracteres curinga são permitidos. Para localizar as fontes de rastreamento no computador, digite Get-TraceSource
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
Determina o tipo de eventos que são rastreados. Os valores aceitáveis para esse parâmetro são:
- Nenhum
- Construtor
- Dispose
- Finalizer
- Método
- Propriedade
- Delegados
- Eventos
- Exceção
- Bloqueio
- Erro
- Errors
- Aviso
- Detalhado
- WriteLine
- Dados
- Escopo
- ExecutionFlow
- Assert
- Tudo
All é o padrão.
Os seguintes valores são combinações de outros valores:
- ExecutionFlow: (Construtor, Descarte, Finalizador, Método, Delegados, Eventos e Escopo)
- Dados: (Constructor, Dispose, Finalizer, Property, Verbose e WriteLine)
- Erros: (erro e exceção).
Para especificar várias opções, separe-as com vírgulas, mas sem espaços, e coloque-as entre aspas, como "Constructor, Dispose".
Type: | PSTraceSourceOptions |
Accepted values: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PSHost
Indica que o cmdlet envia a saída de rastreamento para o host do PowerShell. Esse parâmetro também seleciona o ouvinte de rastreamento PSHost.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode redirecionar objetos que representam a entrada para a expressão para Trace-Command
.
Saídas
Retorna o rastreamento de comando no fluxo de depuração.
Observações
O rastreamento é um método utilizado pelos desenvolvedores para depurar e aprimorar os programas. Ao realizar o rastreamento, o componente gera mensagens detalhadas sobre cada etapa no seu processamento interno.
Os cmdlets de rastreamento do PowerShell foram projetados para ajudar os desenvolvedores do PowerShell, mas estão disponíveis para todos os usuários. Eles permitem monitorar quase todos os aspectos da funcionalidade do shell.
Para localizar os componentes do PowerShell habilitados para rastreamento, digite
Get-Help Get-TraceSource
.Uma fonte de rastreamento é a parte de cada componente do PowerShell que gerencia o rastreamento e gera mensagens de rastreamento para o componente. Para rastrear um componente, você deve identificar sua origem de rastreamento.
Um ouvinte de rastreamento recebe a saída do rastreamento e o exibe para o usuário. Você pode optar por enviar os dados de rastreamento para um depurador de modo de usuário ou kernel, para o host ou console, para um arquivo ou para um ouvinte personalizado derivado da classe System.Diagnostics.TraceListener .
Quando você usa o conjunto de parâmetros commandSet, o PowerShell processa o comando da mesma forma que seria processado em um pipeline. Por exemplo, a descoberta de comando não é repetida para cada objeto de entrada.
Os nomes dos parâmetros Name, Expression, Option e Command são opcionais. Se você omitir os nomes de parâmetro, os valores de parâmetro sem nome deverão aparecer nesta ordem: Nome, Expressão, Opção ou Nome, Comando, Opção. Se você incluir os nomes dos parâmetros, os parâmetros podem aparecer em qualquer ordem.