Compartilhar via


Depuração de viagem no tempo – Solução de problemas

Logotipo de depuração de viagem no tempo com um relógio.

Esta seção descreve como solucionar problemas de rastreamentos de viagem no tempo.

Problemas ao tentar registrar um processo

Recebo uma mensagem de erro que diz "O WinDbg deve ser executado com privilégios elevados para dar suporte à Depuração de Viagem no Tempo"

Como a mensagem indica, executar o depurador elevado é um requisito. Para executar o depurador com privilégios elevados, clique com o botão direito do mouse no ícone WinDbg no menu Iniciar e selecione Mais>Executar como Administrador.

Instalei o WinDbg com uma conta que não tem privilégios de administrador e recebo uma mensagem de erro que diz "O WinDbg deve ser executado com privilégios elevados para dar suporte à Depuração de Viagem no Tempo"

Reinstale o WinDbg usando uma conta que tenha privilégios de administrador e use essa conta ao gravar no depurador.

Não consigo iniciar e gravar um aplicativo UWP

No momento, não há suporte para isso, mas você pode anexar e gravar um aplicativo UWP já em execução.

Não consigo registrar um <nome de inserção de tipo de processo incomum – em execução em outra sessão, contexto de segurança, processo de credenciais...>

Neste momento, o TTD registra apenas processos regulares que você normalmente pode iniciar em um console de comando ou clicando em um executável ou atalho no Windows Explorer.

Não consigo gravar meu aplicativo com êxito no meu computador

Se a gravação do aplicativo falhar, verifique se você pode gravar um processo simples do Windows. Por exemplo, "ping.exe" ou "cmd.exe" são processos simples que normalmente podem ser registrados.

Não consigo gravar nada com êxito no meu computador

A gravação de TTD é uma tecnologia invasiva, que pode interferir em outras tecnologias invasivas, como estruturas de virtualização de aplicativos, produtos de gerenciamento de informações, software de segurança ou produtos antivírus.

Confira "Itens a serem olhados" em Depuração de Viagem no Tempo – Visão geral para obter informações sobre incompatibilidades de TTD conhecidas.

Estou rastreando um aplicativo e executando o AppVerifier ao mesmo tempo, e o desempenho ao reproduzir o rastreamento é lento.

Devido à maneira como o AppVerifier usa memória para marcar o aplicativo, a experiência posterior ao reproduzir o rastreamento pode ser visivelmente pior do que sem AppVerifier. Para melhorar o desempenho, desabilite o AppVerifier ao gravar o aplicativo. Se isso não for possível, talvez seja necessário fechar a janela de pilha de chamadas no WinDbg para melhorar o desempenho.

Problemas com . Arquivos de índice IDX

É possível depurar um arquivo de rastreamento sem um arquivo de índice ou com um arquivo de índice corrompido ou incompleto, mas não é recomendado. O arquivo de índice é necessário para garantir que os valores de memória lidos do processo depurado sejam mais precisos e para aumentar a eficiência de todas as outras operações de depuração.

Use o !index -status comando para examinar o estado do . Arquivo de índice IDX associado ao . EXECUTAR arquivo de rastreamento.

Se ele puder tentar recriar o arquivo de índice executando !index -force.

Recriando o . Arquivo de índice IDX

Se você suspeitar e emitir com o arquivo de índice ou !index -status disser algo diferente de "Arquivo de índice carregado", recrie-o. Para fazer isso, você pode executar !index -force. Se isso falhar:

  1. Feche o depurador.
  2. Exclua o arquivo IDX existente, ele terá o mesmo nome que o . EXECUTE o arquivo de rastreamento e esteja localizado no mesmo diretório que o . O arquivo RUN é.
  3. Abra o rastreamento . Arquivo RUN no WinDbg. Isso executará o !index comando para recriar o índice.
  4. Use o !index -status comando para confirmar se o índice de rastreamento está funcional.

Verifique se há espaço suficiente para o arquivo de índice no mesmo local em que o arquivo de rastreamento reside. Dependendo do conteúdo da gravação, o arquivo de índice pode ser significativamente maior que o arquivo de rastreamento, normalmente na ordem do dobro do tamanho.

Problemas com o Rastreamento . Arquivos RUN

Quando há problemas com o rastreamento . Run file, you may receive error messages such as these.

Replay and log are out of sync at fallback data. Packet type is incorrect "Packet Type"
Replay and log are out of sync at opaque data. Log had already reached the end
Replay exit thread event does not match up with logged event
Logged debug write values are out of sync with replay

Na maioria dos casos, todas as mensagens de falha indicam que o . O arquivo de rastreamento RUN não é utilizável e deve ser registrado novamente.

Registrar novamente o aplicativo de modo de usuário

Se houver um problema específico com a gravação de um aplicativo de modo de usuário, talvez você queira tentar gravar um aplicativo diferente no mesmo computador ou experimentar o mesmo aplicativo em um computador diferente. Talvez você queira tentar gravar um uso diferente do aplicativo para ver se há um problema específico com a gravação de determinadas partes do aplicativo.

Ao depurar ou criar o índice, vejo mensagens sobre "Eventos de descarrilamento".

É possível que você veja mensagens como esta:

Derailment event MissingDataDerailment(7) on UTID 2, position 2A550B:108 with PC 0x7FFE5EEB4448 Request address: 0x600020, size: 32

O TTD funciona executando um emulador dentro do depurador, que executa as instruções do processo depurado para replicar o estado desse processo em cada posição na gravação. Os descarrilamentos ocorrem quando esse emulador observa algum tipo de discrepância entre o estado resultante e as informações encontradas no arquivo de rastreamento. O erro citado acima, por exemplo, refere-se a uma instrução encontrada no local 0x7FFE5EEB4448, na posição 2A550B:108 no rastreamento, que tentou ler alguma memória em torno do local 0x600020, que não existe na gravação.

Os descarrilamentos geralmente são causados por algum erro no gravador, ou às vezes no emulador, em alguma instrução gravada mais adiante no rastreamento.

Na maioria dos casos, essa mensagem de falha indica que o . O arquivo de rastreamento RUN terá uma lacuna no thread que descarrilou, começando no ponto em que ele descarrilou, para um número indeterminado de instruções. Se o evento de interesse que você está tentando depurar não ocorreu durante essa lacuna, o rastreamento pode ser utilizável. Se o evento de interesse tiver ocorrido durante essa lacuna, o rastreamento precisará ser registrado novamente.

Consulte Também

Depuração de viagem no tempo – Visão geral