Partilhar via


Trace-Command

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

Sintaxe

expressionSet (Predefinição)

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

commandSet

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 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

Este comando 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. 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ção de ouvinte, o comando usa os padrões--All para as opções de rastreamento e Nenhum para as opções de 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 ele processa uma expressão Get-Alias que recebe 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 string "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, onde a variável $Input está associada ao parâmetro InputObject . O parâmetro InputObject passa a variável $A para a expressão. Com efeito, 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 depurar parâmetros dinâmicos.

Propriedades dos parâmetros

Tipo:

Object[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Argumentos

Conjuntos de parâmetros

commandSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Command

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

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

commandSet
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Debugger

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Expression

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

Propriedades dos parâmetros

Tipo:ScriptBlock
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

expressionSet
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSPath

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Force

Força o comando a ser executado sem pedir a confirmação do usuário. Usado com o parâmetro FilePath. Mesmo utilizando o parâmetro Force, o cmdlet não consegue ultrapassar as restrições de segurança.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 a expressão aceita ou passar um objeto pelo pipeline.

Propriedades dos parâmetros

Tipo:PSObject
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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
  • Data e Hora
  • Data e Hora
  • 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".

Propriedades dos parâmetros

Tipo:TraceOptions
Default value:None
Valores aceites:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 no computador, digite Get-TraceSource.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Option

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

  • Nenhum
  • Construtor
  • Eliminar
  • Finalizador
  • Método
  • Propriedade
  • Delegados
  • Eventos
  • Exceção
  • Lock
  • Erro
  • Erros
  • Advertência
  • Verbose
  • EscreverLinha
  • Dados
  • Âmbito de aplicação
  • ExecutionFlow
  • Afirmação
  • Todos

Tudo é o padrão.

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

  • ExecutionFlow: (Construtor, Descartar, 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".

Propriedades dos parâmetros

Tipo:PSTraceSourceOptions
Default value:None
Valores aceites:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:2
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-PSHost

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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

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.

Notas

  • O rastreamento é um método que os desenvolvedores usam para depurar e refinar programas. Ao rastrear, o programa gera mensagens detalhadas sobre cada etapa de 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 que você monitore quase todos os aspetos 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 sua origem de rastreamento.

    Um ouvinte de rastreamento recebe a saída do rastreamento e a 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 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, Option e Command são opcionais. Se você omitir os nomes dos parâmetros, os valores de parâmetros 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.