Compartilhar via


Trace-Command

Configura e inicia um rastreamento da expressão ou comando especificado.

Sintaxe

Trace-Command
     [-Name] <String[]>
     [-Expression] <ScriptBlock>
     [[-Option] <PSTraceSourceOptions>]
     [-InputObject <PSObject>]
     [-ListenerOption <TraceOptions>]
     [-FilePath <String>]
     [-Force]
     [-Debugger]
     [-PSHost]
     [<CommonParameters>]
Trace-Command
     [-Name] <String[]>
     [-Command] <String>
     [[-Option] <PSTraceSourceOptions>]
     [-InputObject <PSObject>]
     [-ArgumentList <Object[]>]
     [-ListenerOption <TraceOptions>]
     [-FilePath <String>]
     [-Force]
     [-Debugger]
     [-PSHost]
     [<CommonParameters>]

Description

O cmdlet Trace-Command 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

PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost

Esse comando inicia um rastreamento de processamento de metadados, associação de parâmetros e criação e destruição de cmdlet da expressão Get-Process Notepad. Ele usa o parâmetro Name para especificar as fontes de rastreamento, o parâmetro expressão 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: Todos para as opções de rastreamento e Nenhum para as opções do ouvinte.

Exemplo 2: Rastrear as ações das operações ParameterBinding

PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A

Esses comandos rastreiam as ações das operações ParameterBinding do Windows PowerShell enquanto processam uma expressão Get-Alias que recebe a entrada do pipeline.

Em 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 variável $A. O segundo comando usa o cmdlet Trace-Command 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 variável $Input 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 os valores de parâmetro para o comando que está sendo rastreado. O alias para ArgumentList é Args. Esse recurso é especialmente útil para depurar parâmetros dinâmicos.

Tipo:Object[]
Aliases:Args
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Command

Especifica um comando que está sendo processado durante o rastreamento.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Debugger

Indica que o cmdlet envia a saída de rastreamento para o depurador. Você pode exibir a saída em qualquer depurador no modo de usuário ou kernel ou no Visual Studio. Esse parâmetro também seleciona o ouvinte de rastreamento padrão.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Expression

Especifica a expressão que está sendo processada durante o rastreamento. Coloque a expressão entre chaves ({}).

Tipo:ScriptBlock
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 de arquivo.

Tipo:String
Aliases:PSPath
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 restrições de segurança.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 aceita pela expressão ou passar um objeto pelo pipeline.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-ListenerOption

Especifica dados opcionais para o prefixo de cada mensagem de rastreamento na saída. Os valores aceitáveis para este parâmetro são:

  • Nenhum
  • LogicalOperationStack
  • DateTime
  • Timestamp
  • ProcessId
  • ThreadId
  • Pilha de chamadas

Nenhum é 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".

Tipo:TraceOptions
Valores aceitos:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifica uma matriz de componentes do Windows PowerShell que são rastreados. Insira o nome da fonte de rastreamento de cada componente. Curingas são permitidos. Para localizar as fontes de rastreamento em seu computador, digite Get-TraceSource.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Option

Especifica o tipo de eventos que são rastreados. Os valores aceitáveis para este parâmetro são:

  • Nenhum
  • Construtor
  • Dispose
  • Finalizador
  • Método
  • Propriedade
  • Delegados
  • Eventos
  • Exceção
  • Fechadura
  • Erro
  • Erros
  • Aviso
  • Prolixo
  • WriteLine
  • Dados
  • Âmbito
  • ExecutionFlow
  • Afirmar
  • Todo

Tudo é o padrão.

Os seguintes valores são combinações de outros valores:

  • ExecutionFlow: (Construtor, Descarte, Finalizador, Método, Delegados, Eventos e Escopo)
  • Dados: (Construtor, Descarte, Finalizador, Propriedade, Detalhado 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 "Construtor, Descartar".

Tipo:PSTraceSourceOptions
Valores aceitos:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PSHost

Indica que o cmdlet envia a saída de rastreamento para o host do Windows PowerShell. Esse parâmetro também seleciona o ouvinte de rastreamento PSHost.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSObject

Você pode canalizar objetos que representam a entrada para a expressão para Trace-Command.

Saídas

PSObject

Retorna o rastreamento de comando no fluxo de depuração.

Observações

  • O rastreamento é um método que os desenvolvedores usam para depurar e refinar programas. Ao rastrear, o programa gera mensagens detalhadas sobre cada etapa em seu processamento interno.

  • Os cmdlets de rastreamento do Windows PowerShell foram projetados para ajudar os desenvolvedores do Windows 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 Windows PowerShell habilitados para rastreamento, digite Get-Help Get-TraceSource.

    Uma fonte de rastreamento é a parte de cada componente do Windows PowerShell que gerencia o rastreamento e gera mensagens de rastreamento para o componente. Para rastrear um componente, identifique a fonte 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 no 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 Windows PowerShell processa o comando da mesma forma que seria processado em um pipeline. Por exemplo, a descoberta de comandos não é repetida para cada objeto de entrada.

  • Os nomes dos parâmetros Name, Expression, Optione Command são opcionais. Se você omitir os nomes de parâmetro, os valores de parâmetro sem nome deverão aparecer nesta ordem: Name, Expression, Option ou Name, Command, Option. Se você incluir os nomes dos parâmetros, os parâmetros poderão aparecer em qualquer ordem.