Habilitar o rastreamento de diagnóstico para MS DTC em um computador Windows 10

Este artigo discute como habilitar o rastreamento de diagnóstico para o MS DTC (Coordenador de Transações Distribuídas da Microsoft) em um computador Windows 10.

Versão original do produto: Windows 10
Número de KB original: 926099

Importante

Este artigo contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Você deve saber como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, consulte Informações de registro do Windows para usuários avançados.

Tipos de instalações de rastreamento

  • Rastreamento do gerenciador de transações

    O rastreamento do TM (Gerenciador de Transações) rastreia alterações no estado da transação. Ele é gerado pelo gerenciador de transações do MS DTC. A saída está em formato binário e a saída deve ser formatada. O gerenciador de transações faz parte do serviço MS DTC.

  • Rastreamento de erros do gerenciador de comunicação

    O rastreamento de erros do CM (gerenciador de comunicação) rastreia qualquer processo que carregue o arquivo Msdtcprx.dll e que usa a interface RPC (chamada de procedimento remoto) do MS DTC para se comunicar com outros processos relacionados ao MS DTC. A saída está no formato de texto. O erro 0x8004d00a é um erro típico para o qual o rastreamento de erros do gerenciador de comunicação pode ser útil.

Observação

O rastreamento do gerenciador de transações e o rastreamento de erros do gerenciador de comunicação são processos independentes. Você pode habilitar de forma independente o rastreamento do gerenciador de transações e o rastreamento de erros do gerenciador de comunicação. Ou, você pode desabilitar independentemente.

Habilitar o rastreamento do gerenciador de transações

Você pode usar o snap-in MMC (Component Services Microsoft Management Console) para habilitar o rastreamento do gerenciador de transações. Para fazer isso, siga estas etapas:

  1. Selecione Iniciar, selecione Todos os Programas, Selecione Acessórios e, em seguida, Selecione Executar.

  2. Digite comexp.msc e selecione OK.

  3. Expanda Serviços de Componentes, expanda Computadores, expanda Meu Computador, Expanda Gerenciador de Transações Distribuídas, clique com o botão direito do mouse em DTC Local e selecione Propriedades.

  4. Selecione a guia Rastreamento .

  5. Na guia Rastreamento , você pode modificar as seguintes opções de rastreamento de TM:

    • Saída de rastreamento
      • Rastrear transações
        • Rastrear todas as transações
        • Rastrear transações abortadas
        • Rastrear transações de Long-Lived

Quando você altera a configuração de rastreamento de TM, o serviço MS DTC detecta as alterações. No entanto, você não precisa reciclar o processo. Por exemplo, quando você altera as transações que são rastreadas ou o local do arquivo de rastreamento, o serviço MS DTC detecta a alteração no registro. Você não precisa reiniciar o serviço MS DTC.

Novo sistema de rastreamento do MS DTC no Windows

No Windows, o MS DTC tem um sistema de rastreamento novo e extenso. O novo sistema tem as seguintes metas de design:

  • Apenas uma única linha de código é necessária para adicionar um rastreamento formatado.
  • O rastreamento é legível por humanos em computadores de produção sem uma rede.
  • As opções de saída são flexíveis.
  • O rastreamento é rápido.
  • Você não precisa reiniciar o computador para alterar as opções.

Além disso, em Windows 10 e Windows Server Technical Preview, o nome do arquivo de log de rastreamento inclui o nome do processo que invocou o log de rastreamento. Isso é controlado pela chave de registro de saída.

Configurar o rastreamento

Aviso

Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modifique o Registro a seu próprio risco.

A configuração de rastreamento está localizada no nó local, em uma chave de registro nomeada Tracing sob a chave do registro ms DTC. A Tracing chave do registro inclui o rastreamento do gerenciador de conexões. Anteriormente, você usou a chave do registro para configurar o TraceCMErr rastreamento do gerenciador de conexões. A Tracing chave do registro contém as duas sub-chaves a seguir:

  • Sources: essa sub-chave configura o tipo de rastreamento.
  • Output: essa sub-chave configura para onde a saída de rastreamento é enviada.

Observação

Verifique se o processo pode acessar a chave do Tracing registro. Por padrão, a configuração do Windows não cria essa chave e não concede permissões a essa chave. Você pode usar o Registro Editor para configurar a funcionalidade de rastreamento.

Para criar entradas de registro de funcionalidade de rastreamento, siga estas etapas:

  1. Selecione Iniciar>Todos os Programas Acessórios>>Executar, digite regedit e selecione OK.

  2. Localize e selecione uma das seguintes sub-chaves:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
  3. No menu Editar , selecione Novo e selecione o tipo de dados da entrada. Por exemplo, selecione Valor DWORD (32 bits).

  4. Digite o nome da origem desejada e pressione ENTER. Para obter mais informações sobre os nomes de origem, consulte a tabela na seção Configurar fontes .

  5. Clique com o botão direito do mouse na nova entrada do registro, selecione Modificar, digite o valor desejado na caixa de dados Valor e selecione OK.

  6. No menu Arquivo, selecione Sair.

Configurar fontes

A Sources chave do registro contém um conjunto de valores de registro DWORD listados na tabela a seguir.

Nome Descrição
TRACE_MISC Rastreamentos que não podem ser categorizados nas outras categorias
TRACE_CM Rastreamentos no gerenciador de conexões
TRACE_TRACE A infraestrutura de rastreamento em si
TRACE_SVC Rastrea o serviço e a inicialização de arquivos .exe
TRACE_GATEWAY Fonte do gateway
TRACE_UI Rastreia a interface do usuário
TRACE_CONTACT Rastreia o pool de contatos e os contatos
TRACE_UTIL Rastreia rotinas de utilitário que são chamadas de vários locais
TRACE_CLUSTER Rastreia o código (utilitário) específico do cluster
TRACE_RESOURCE Rastreia o código específico do recurso do cluster
TRACE_TIP Fonte de rastreamento tip (Protocolo de Internet de Transação)
TRACE_XA Fonte de rastreamento do XATM (XA Transaction Manager)
TRACE_LOG Rastreamento de log
TRACE_MTXOCI Origem de rastreamento da camada MTS/OCI (Mtxoci.dll)
TRACE_ETWTRACE Origem de rastreamento do ETW (Rastreamento de Eventos para Windows)
TRACE_PROXY Rastreamentos gerados na DLL do proxy MSDTC
TRACE_KTMRM Rastreamento para integração com o Kernel Transaction Manager
TRACE_VSSBACKUP Rastreamento para integração com o mecanismo de backup e restauração do Microsoft Visual SourceSafe
TRACE_PERFMON Rastreamento com suporte para contadores de desempenho

O valor DWORD deve ser um número de 0 a 255. O valor DWORD indica o nível de rastreamento que ocorre. A tabela a seguir lista possíveis valores DWORD.

Valor Descrição
0 const BYTE TRACE_OFF
1 const BYTE TRACE_ERROR
2 const BYTE TRACE_WARNING
3 const BYTE TRACE_INFO
4 const BYTE TRACE_VERBOSE
5 const BYTE TRACE_VERY_VERBOSE
6 const BYTE TRACE_INOUT
0xF0 const BYTE TRACE_OBSCURE
0xff const BYTE TRACE_EVERYTHING

Observação

Valores mais altos incluem automaticamente valores mais baixos. Portanto, quando você habilita o TRACE_INFO nível, o TRACE_ERROR nível também está habilitado. Pouquíssimas fontes usam qualquer rastreamento que seja maior que o TRACE_VERBOSE nível.

Configurar a saída de rastreamento

Aviso

Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modifique o Registro a seu próprio risco.

A Output chave do registro contém um conjunto de valores que controlam onde a saída de rastreamento é enviada. Esses valores são os seguintes:

  • O TraceFilePath valor (REG_SZ) é a pasta raiz na qual os arquivos de rastreamento devem ser armazenados. O rastreamento é gravado em um arquivo em uma pasta chamada msdtc-X.log. Neste nome da pasta, X representa o PID decimal do processo que cria o arquivo. Verifique se todos os processos de interesse podem acessar a pasta configurada. Caso contrário, as informações de rastreamento serão perdidas. Se esse valor não estiver definido, os rastreamentos não serão enviados para um arquivo.

  • O ImageNameInTraceFileNameEnabled valor (REG_DWORD) determina se o nome do arquivo de log de rastreamento gerado inclui o nome do arquivo de imagem do processo que invocou o log de rastreamento. Se isso for definido como um valor não zero, o nome do arquivo de imagem do processo será incluído no arquivo de log de rastreamento gerado. Se esse valor for definido como zero, o nome do arquivo de imagem do processo não será incluído no arquivo de log de rastreamento gerado. Por padrão, o valor é definido como zero (0). A seguir está um exemplo de um nome de arquivo de rastreamento em que o arquivo de log gerado contém o processo:
    MSDTC-msdtc.exe-3552.log ou MSDTC-svchost.exe - 3556.log

  • O MemoryBufferSize valor (REG_DWORD) é o tamanho do buffer circular no qual as mensagens de rastreamento são armazenadas. Se esse valor for definido como 0, o rastreamento de memória será desabilitado. Por padrão, esse valor é de 10 MB. Talvez você precise aumentar esse valor se habilitar o rastreamento verboso.

  • O DebugOutEnabled valor (REG_DWORD) habilita ou desabilita a saída para o depurador. Se o valor não for zero, a saída será habilitada. Por padrão, essa Output chave do registro está desabilitada. Quando você altera a configuração de rastreamento de erros do gerenciador de conexões, as alterações entrarão em vigor quando um processo que carrega o arquivo Msdtcprx.dll é reciclado. Por exemplo, as alterações na configuração de rastreamento de erros do gerenciador de conexões fazem efeito quando o processo de serviço do MS DTC é reciclado.

Como alternativa, você pode criar um arquivo .reg e, em seguida, pode usar o Registro Editor para importar o arquivo. Para fazer isso, siga estas etapas:

  1. Crie um novo arquivo .reg que contém o seguinte exemplo de código:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output]
    "DebugOutEnabled"=dword:00000000
    "TraceFilePath"=""
    "MemoryBufferSize"=dword:0000000a
    "ImageNameInTraceFileNameEnabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources]
    "TRACE_MISC"=dword:00000000
    "TRACE_CM"=dword:00000000
    "TRACE_TRACE"=dword:00000000
    "TRACE_SVC"=dword:00000000
    "TRACE_GATEWAY"=dword:00000000
    "TRACE_UI"=dword:00000000
    "TRACE_CONTACT"=dword:00000000
    "TRACE_UTIL"=dword:00000000
    "TRACE_CLUSTER"=dword:00000000
    "TRACE_RESOURCE"=dword:00000000
    "TRACE_TIP"=dword:00000000
    "TRACE_XA"=dword:00000000
    "TRACE_LOG"=dword:00000000
    "TRACE_MTXOCI"=dword:00000000
    "TRACE_ETWTRACE"=dword:00000000
    "TRACE_PROXY"=dword:00000000
    "TRACE_KTMRM"=dword:00000000
    "TRACE_VSSBACKUP"=dword:00000000
    
  2. Selecione Iniciar>Todos os Programas Acessórios>>Executar, digite regedit e clique em OK.

  3. No menu Arquivo , selecione Importar.

  4. Localize o arquivo que você criou na etapa 1 e selecione Abrir. A caixa de diálogo Editor do Registro é exibida.

  5. Selecione OK.

  6. No menu Arquivo, selecione Sair.

Efeito desempenho

Por padrão, a funcionalidade de rastreamento está desabilitada no Windows. Portanto, não existe nenhum efeito de desempenho em uma instalação regular.

Não habilite a funcionalidade de rastreamento em computadores de produção, a menos que um Profissional de Suporte ao Cliente da Microsoft indique que as informações de rastreamento são necessárias para diagnosticar um problema. O rastreamento pode afetar o desempenho do computador. Primeiro, você deve encontrar o problema e resolve-lo. Em seguida, desabilite imediatamente a funcionalidade de rastreamento.

Configuração do cluster

Para instalações de cluster, verifique se todas as entradas do registro em todos os nós contêm essas entradas de registro. Para qualquer nó que não tenha essas entradas de registro, o código do cluster ignora as entradas do registro no registro compartilhado porque as entradas do registro não existem no registro de computador local.