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 com Windows 10.
Versão original do produto: Windows 10
Número original do KB: 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 do Registro do Windows para usuários avançados.
Tipos de instalações de rastreamento
Rastreamento do gerenciador de transações
O rastreamento do gerenciador de transações (TM) rastreia as alterações de 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 use a interface RPC (chamada de procedimento remoto) do MS DTC para se comunicar com outros processos relacionados ao MS DTC. A saída está em 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 independentemente o rastreamento do gerenciador de transações e o rastreamento de erros do gerenciador de comunicação. Ou você pode desativá-los de forma independente.
Habilitar o rastreamento do gerenciador de transações
Você pode usar o snap-in do MMC (Console de Gerenciamento Microsoft) dos Serviços de Componentes para habilitar o rastreamento do gerenciador de transações. Para fazer isso, siga estas etapas:
Selecione Iniciar, Todos os Programas, Acessórios e Executar.
Digite comexp.msc e selecione OK.
Expanda Serviços de Componentes, Computadores, Meu Computador, Gerenciador de Transações Distribuídas, clique com o botão direito do mouse em DTC Local e selecione Propriedades.
Selecione a guia Rastreamento .
Na guia Rastreamento , você pode modificar as seguintes opções de rastreamento de TM:
- Saída de rastreamento
- Transações de rastreamento
- Rastrear todas as transações
- Rastrear transações anuladas
- Rastrear transações de longa duração
- Transações de rastreamento
- Saída de rastreamento
Quando você altera a configuração de rastreamento 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 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 MS DTC no Windows
No Windows, o MS DTC possui um novo e extenso sistema de rastreamento. O novo sistema tem os seguintes objetivos de design:
- Apenas uma única linha de código é necessária para adicionar um rastreamento formatado.
- O rastreamento pode ser lido por humanos em computadores de produção sem 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, no Windows 10 e no 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 do 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 do Registro nomeada Tracing
na chave do Registro MS DTC. A Tracing
chave do Registro inclui o rastreamento do gerenciador de conexões. Anteriormente, você usava a chave do Registro para configurar o TraceCMErr
rastreamento do gerenciador de conexões. A Tracing
chave do Registro contém as duas subchaves a seguir:
Sources
: Esta subchave configura o tipo de rastreamento.Output
: Esta subchave configura para onde a saída de rastreamento é enviada.
Observação
Certifique-se de que o processo possa acessar a Tracing
chave do 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 Editor do Registro para configurar a funcionalidade de rastreamento.
Para criar entradas do Registro da funcionalidade de rastreamento, siga estas etapas:
Selecione Iniciar>todos os programas>Execução de acessórios>
Localize e selecione uma das seguintes subchaves:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
No menu Editar, selecione Novo e, em seguida, selecione o tipo de dados da entrada. Por exemplo, selecione Valor DWORD (32 bits).
Digite o nome da fonte desejada e pressione ENTER. Para obter mais informações sobre os nomes de origem, consulte a tabela na seção Configurar fontes .
Clique com o botão direito do mouse na nova entrada do Registro, selecione Modificar, digite o valor desejado na caixa Dados do valor e selecione OK.
No menu Arquivo, selecione Sair.
Configurar fontes
A Sources
chave do Registro contém um conjunto de valores do Registro DWORD listados na tabela a seguir.
Nome | Descrição |
---|---|
TRACE_MISC | Rastreamentos que não podem ser categorizados em outras categorias |
TRACE_CM | Rastreamentos no gerenciador de conexões |
TRACE_TRACE | A infraestrutura de rastreamento propriamente dita |
TRACE_SVC | Rastreia a inicialização do serviço e do arquivo .exe |
TRACE_GATEWAY | Origem do gateway |
TRACE_UI | Rastreia a interface do usuário |
TRACE_CONTACT | Rastreia o pool de contatos e os contatos |
TRACE_UTIL | Rastreia rotinas do utilitário que são chamadas de vários locais |
TRACE_CLUSTER | Rastreia o código específico do cluster (utilitário) |
TRACE_RESOURCE | Rastreia o código específico do recurso do cluster |
TRACE_TIP | Origem de rastreamento do Transaction Internet Protocol (TIP) |
TRACE_XA | Origem de rastreamento do XATM (Gerenciador de Transação XA) |
TRACE_LOG | Rastreamento de log |
TRACE_MTXOCI | Origem de rastreamento da camada MTS/OCI (Mtxoci.dll) |
TRACE_ETWTRACE | Origem de rastreamento 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 os 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 é habilitado. Muito poucas fontes usam qualquer rastreamento que seja superior ao TRACE_VERBOSE
nível.
Configurar 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 para onde a saída de rastreamento é enviada. Esses valores são:
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. Nesse nome de pasta, X representa o PID decimal do processo que cria o arquivo. Certifique-se de que todos os processos de interesse possam acessar a pasta configurada. Caso contrário, as informações de rastreamento serão perdidas. Se esse valor não for 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 diferente de 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). Veja a seguir 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.logO
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 seja necessário aumentar esse valor se você habilitar o rastreamento detalhado.O
DebugOutEnabled
valor (REG_DWORD) habilita ou desabilita a saída para o depurador. Se o valor for diferente de zero, a saída será habilitada. Por padrão, essaOutput
chave do Registro está desabilitada. Quando você altera a configuração de rastreio de erros do gerenciador de conexões, as mudanças entram 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 entram em vigor quando o processo de serviço do MS DTC é reciclado.
Como alternativa, você pode criar um arquivo .reg e, em seguida, usar o Editor do Registro para importar o arquivo. Para fazer isso, siga estas etapas:
Crie um novo arquivo .reg que contenha 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
Selecione Iniciar>todos os programas>Acessórios>Executar, digite regedit e clique em OK.
No menu Arquivo , selecione Importar.
Localize o arquivo que você criou na etapa 1 e selecione Abrir. A caixa de diálogo Editor do Registro é exibida.
Selecione OK.
No menu Arquivo, selecione Sair.
Efeito de 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 resolvê-lo. Em seguida, desative imediatamente a funcionalidade de rastreamento.
Configuração do cluster
Para instalações de cluster, certifique-se de que todas as entradas do Registro em todos os nós contenham essas entradas do Registro. Para qualquer nó que não tenha essas entradas do Registro, o código do cluster ignora as entradas do Registro no Registro compartilhado porque as entradas do Registro não existem no Registro do computador local.