Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção descreve como registrar rastreamentos de depuração de viagem no tempo (TTD). Há duas maneiras de gravar um traço no WinDbg, Iniciar executável (avançado) e Anexar a um processo.
Iniciar executável (avançado)
Para iniciar um executável e gravar um rastreamento TTD, siga estas etapas.
No WinDbg, selecione Arquivo>Iniciar depuração>Executável (avançado) Iniciar.
Digite o caminho para o executável no modo utilizador que pretende gravar ou selecione Pesquisar para navegar até ao executável. Para obter informações sobre como trabalhar com o menu Iniciar executável no WinDbg, consulte WinDbg - Iniciar uma sessão de modo de usuário.
Marque a caixa Registro com Depuração de Viagem no Tempo para gravar um rastreamento quando o executável for lançado.
Se você selecionar Configurar e Registrar , poderá configurar um local para o arquivo de rastreamento.
Para limitar a gravação a módulos específicos, marque "Gravar subconjunto de execução" e digite os nomes dos módulos. Por exemplo, se você quiser registrar apenas a execução de notepad.exe, digite "notepad.exe" na caixa de texto. Se você quiser gravar a execução de notepad.exe e kernelbase.dll, digite "notepad.exe,kernelbase.dll" na caixa de texto.
Selecione OK para iniciar o executável e iniciar a gravação.
A caixa de diálogo de gravação é exibida indicando que o traço está a ser gravado.
Consulte Como gravar para obter informações sobre a gravação.
Anexar a um processo
Para anexar a um processo e registar um rastreio TTD, siga estas etapas.
No WinDbg, selecione Ficheiro>Iniciar depuração>Anexar ao processo.
Selecione o processo de modo de usuário que você deseja rastrear. Para obter informações sobre como trabalhar com Anexar a um menu de processo no WinDbg, consulte WinDbg - Iniciar uma sessão de modo de usuário.
Marque a caixa Processo de registro com depuração de viagem no tempo para criar um rastreamento quando o executável for iniciado.
Selecione Anexar para iniciar a gravação.
A caixa de diálogo de gravação é exibida indicando que o traço está a ser gravado.
Consulte Como gravar para obter informações sobre a gravação.
Como gravar
O processo está a ser gravado, por isso é aqui que precisas de causar o problema que desejas depurar. Você pode abrir um arquivo problemático ou selecionar um botão específico no aplicativo para fazer com que o evento de interesse ocorra.
Enquanto a caixa de diálogo de gravação está sendo exibida, você pode:
- Parar e depurar - Escolher isso irá parar a gravação, criar o arquivo de rastreamento e abrir o arquivo de rastreamento para que você possa começar a depuração.
- Cancelar - Escolher isso irá parar a gravação e criar o arquivo de rastreamento. Você pode abrir o arquivo de rastreamento posteriormente.
Quando a gravação estiver concluída, feche o aplicativo ou pressione Parar e depurar.
Observação
Parar e depurar e Cancelar encerrarão o processo associado.
Quando o aplicativo que está sendo gravado termina, o arquivo de rastreamento será fechado e gravado no disco. Isto é o caso também se o seu programa falhar.
Quando um arquivo de rastreamento é aberto, o depurador indexa automaticamente o arquivo de rastreamento. A indexação permite pesquisas de valores de memória mais precisas e rápidas. Esse processo de indexação levará mais tempo para arquivos de rastreamento maiores.
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.Observação
Um quadro-chave é um local em um traço usado para indexação. Os quadros-chave são gerados automaticamente. Rastreamentos maiores conterão mais quadros-chave. Quando o traço é indexado, o número de quadros-chave é mostrado.
Neste ponto, você está no início do arquivo de rastreamento e está pronto para avançar e retroceder no tempo.
Sugestão
O uso de pontos de interrupção é uma abordagem comum para pausar a execução de código em algum evento de interesse. Exclusivo do TTD, pode definir um ponto de interrupção e retroceder no tempo até atingir esse ponto após o registo do rastreamento. A capacidade de examinar o estado do processo após a ocorrência de um problema, para determinar o melhor local para um ponto de interrupção, permite fluxos de trabalho de depuração adicionais. Para obter um exemplo de como usar um ponto de interrupção no passado, consulte Debugging com viagem no tempo - Guia passo a passo da aplicação.
Próximos passos
Agora que tem um rastreamento TTD gravado, pode reproduzir o rastreamento ou trabalhar com o arquivo, por exemplo, partilhá-lo com um colega. Para obter mais informações, consulte estes tópicos.
Depuração Temporal - Reproduzir uma linha de execução
Depuração Temporal - Trabalhando com ficheiros de rastreio
Depuração de viagem no tempo - Solução de problemas
Depuração de Viagem no Tempo - Exemplo de Visão Geral do Aplicativo