Compartilhar via


Usar ferramentas de rastreamento com VSS

Para coletar informações de rastreamento da infraestrutura VSS, você pode usar as ferramentas VssTrace, Logman ou Tracelog. O VssTrace está disponível no SDK do Microsoft Windows e pode ser usado para rastrear aplicativos VSS no Windows 7 e versões posteriores do sistema operacional Windows. A ferramenta Logman é um controlador para eventos de rastreamento e contadores de desempenho, e também pode ser usada para rastrear aplicativos VSS no Windows 7 e versões posteriores do sistema operacional Windows. O Tracelog está incluído no WDK (Windows Driver Kit).

Para usar ferramentas de rastreamento com o ASR (Automated System Recovery), consulte Como usar ferramentas de rastreamento com aplicativos ASR.

Observação

VssTrace, Logman e Tracelog precisam de privilégio de administrador.

 

Para mais informações sobre cada ferramenta, consulte as seções abaixo:

Usar o VssTrace

Para executar a ferramenta VssTrace na linha de comando, use a seguinte sintaxe:

vsstrace command-line-options

Para exibir a ajuda de linha de comando concisa para a ferramenta VssTrace, use a seguinte sintaxe:

vsstrace -help

Para exibir a ajuda de linha de comando detalhada para a ferramenta VssTrace, use a seguinte sintaxe:

vsstrace -help all

Opções de linha de comando do VssTrace

A ferramenta VssTrace usa as seguintes opções de linha de comando:

-f Flags

Habilita os módulos cujos sinalizadores são especificados pelo bitmask Flags. Cada flag (ou sinalizador) corresponde a um módulo VSS. Se Flags for zero, nenhum módulo será habilitado. A maioria dos módulos já fica ativada por padrão. Essa opção pode ser combinada com a opção **+**Module. Por exemplo, vsstrace -f 0 +WRITER +COORD desabilita o rastreamento de todos os módulos habilitados por padrão e habilita o rastreamento de gravadores VSS e do serviço VSS. O vsstrace +f 0xffff -COORD permite o rastreamento de todos os módulos,exceto o serviço VSS.

Observação

Se você usar a opção -f com a opção **+**Module, o -f deverá aparecer antes da opção **+**Module.

 

A tabela a seguir lista o nome e o flag do módulo para cada módulo disponível.

Módulo Sinalizador Habilitado por padrão Itens rastreados
EXCEPT 0x00000001 Sim Tratamento de exceções C++.
COORD 0x00000002 Sim O serviço VSS, também chamado de coordenador VSS.
SWPRV 0x00000004 Sim O serviço Provedor de cópia de sombra do sistema VSS.
BUCOMP 0x00000008 Sim O solicitante VSS e o processamento de metadados de backup.
WRITER 0x00000010 Sim Operações de gravador VSS e implementações de gravador hospedado VSS, como o gravador do Registro do Windows.
VSSAPI 0x00000020 Sim Funções diversas da API VSS exportadas pelo VSSAPI.DLL.
HWDIAG 0x00000040 Sim Infraestrutura e operações do provedor de hardware VSS.
ADMIN 0x00000080 Sim Utilitários de linha de comando VSS, como VSSADMIN.EXE e DISKSHADOW.EXE.
VSSUI 0x00000100 Sim A interface do usuário (IU) da configuração das Cópias de sombra para pastas compartilhadas. Essa IU só está disponível nos sistemas operacionais Windows Server.
TEST 0x00000200 Sim Não aplicável. (Este módulo de rastreamento é reservado.)
IOCTL 0x00000400 Sim Detalhes das operações FSCTL e IOCTL que o serviço VSS iniciou chamando a função DeviceIoControl.
GEN 0x00000800 Sim Funções gerais de utilitário VSS, como alocadores, classes de cadeia de caracteres e operações de registro e volume.
WRXML 0x00001000 Não Processamento XML para metadados do gravador. Este módulo tem um nível de ruído muito alto.
VSSXML 0x00002000 Não Classes de base de processamento XML. Este módulo tem um nível de ruído muito alto.

 

**+**Módulo

Habilita o módulo especificado pelo Módulo. Mais de um módulo pode ser ativado por vez. Para listar os módulos disponíveis, digite vsstrace –help modules no prompt da linha de comando.

-Módulo

Desabilita o módulo especificado pelo Módulo. Para listar os módulos disponíveis, digite vsstrace –help modules no prompt da linha de comando.

+pid ProcessId

Habilita o processo especificado por ProcessId. Para habilitar todos os processos, use "*" para o valor de ProcessId. É possível especificar mais de uma opção pid de cada vez. A ordem das opções determina quais processos estão habilitados ou desabilitados. Por exemplo, para habilitar apenas o processo cujo identificador seja 0xe8c, use vsstrace -pid * +pid 0xe8c.

-pid ProcessId

Desabilita o processo especificado por ProcessId. Para desabilitar todos os processos, use "*" para o valor de ProcessId. É possível especificar mais de uma opção pid de cada vez. A ordem das opções determina quais processos estão habilitados ou desabilitados. Por exemplo, para desabilitar todos os processos, exceto o processo cujo identificador seja 0xe8c, use vsstrace -pid * +pid 0xe8c.

+tid ThreadId

Habilita o thread especificado por ThreadId. Para habilitar todos os threads, use "*" para o valor de ThreadId. É possível especificar mais de uma opção tid de cada vez. A ordem das opções determina quais threads estão habilitados ou desabilitados. Por exemplo, para habilitar apenas o thread cujo identificador de processo seja 0x31a, use vsstrace -tid * +tid 0x31a.

-tid ThreadId

Desabilita o thread especificado por ThreadId. Para desabilitar todos os threads, use "*" para o valor de ThreadId. É possível especificar mais de uma opção tid de cada vez. A ordem das opções determina quais threads estão habilitados ou desabilitados. Por exemplo, para desabilitar todos os threads, exceto o thread cujo identificador de processo seja 0x31a, use vsstrace -tid * +tid 0x31a.

-l Level

Use o nível de rastreamento especificado por Nível. Quanto mais alto o nível, mais palavras haverá no resultado do rastreamento. Cada nível inclui todos os níveis inferiores. O nível padrão é 170. Os seguintes níveis estão disponíveis.

Nível Informações incluídas no resultado do rastreamento
000 Nenhum
020 Erros fatais
030 Exceções sem tratamento
040 Errors
050 Asserções
060 Warnings
080 Manuseio de exceção
100 Atividade de log de evento
120 Informações gerais
140 fluxo de código
160 Função de entrar e sair
170 Valores de retorno da função
180 Parâmetros de função (concisos)
190 Parâmetros de função (bastante palavras)
200 Informações com bastante palavras de nível 1
210 Informações com bastante palavras de nível 2
220 Informações com bastante palavras de nível 3
230 Código Rápido Nível 1
240 Código Rápido Nível 2
250 Código Rápido Nível 3
255 Tudo

 

+indent

Recue o resultado do rastreamento formatado em cada limite de função e subfunção.

-indent

Não recue o resultado do rastreamento formatado.

-etl EtlFile

Converta o arquivo de saída do Logman especificado por EtlFile em um formato de texto legível.

-o OutputFile

Salve as informações de rastreamento no arquivo de resultado especificado por OutputFile. Para obter o melhor desempenho, o arquivo de resultado deve estar localizado em um volume que não faça parte da cópia de sombra.

-help HelpOption

Exibe a ajuda da linha de comando conforme especificado por HelpOption. Os valores válidos de HelpOption são módulos, níveis e tudo. A especificação de módulos faz com que os módulos sejam listados. A especificação de níveis faz com que os níveis disponíveis sejam listados. Especificar tudo faz com que a ajuda detalhada seja exibida. Se nenhuma opção for usada, a ajuda concisa será exibida.

Usar o Logman

O procedimento a seguir descreve como usar o Logman com seu aplicativo VSS.

Para usar o Logman com seu aplicativo VSS

  1. Use o seguinte comando para iniciar o rastreamento:

    logman start vss -o *x:\*vss.etl -ets -p {9138500e-3648-4edb-aa4c-859e9f7b7c38} 0xfff 170

    Observação

    Substitua "x:\" pelo caminho para o diretório em que você deseja que o arquivo de log de rastreamento seja armazenado.

     

  2. Use o seguinte comando para parar o rastreamento:

    logman stop vss -ets

O arquivo de log de rastreamento é o *x:\*vss.etl.

Para mais informações sobre a ferramenta Logman, consulte Logman.

Usar o Tracelog

O procedimento a seguir descreve como usar o Tracelog.

Para usar o Tracelog

  1. Crie um arquivo de texto chamado vss.ctl que contenha apenas o seguinte texto:

    9138500e-3648-4edb-aa4c-859e9f7b7c38 vss

  2. Use o seguinte comando para iniciar o rastreamento:

    tracelog -start vss -f *x:\*vss.etl -guid vss.ctl -flag 0xff -level 0xaa

    Observação

    Substitua "x:\" pelo caminho para o diretório em que você deseja que o arquivo de log de rastreamento seja armazenado.

     

  3. Use o seguinte comando para parar o rastreamento:

    tracelog -stop vss

O arquivo de log de rastreamento é o *x:\*vss.etl.

Para mais informações sobre a ferramenta Tracelog, consulte Tracelog.