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.
O Rastreamento de Referência de Objeto é um recurso do Windows que registra um rastreamento de pilha sequencial quando um objeto é referenciado ou desreferenciado. Ele é projetado para detetar erros no manuseio de objetos que podem levar a falhas ou vazamentos de memória. Alguns desses erros são difíceis de detetar porque não aparecem de forma consistente. Para obter informações detalhadas, consulte Rastreamento de referência de objeto.
Você pode configurar o Rastreamento de Referência de Objeto usando a caixa de diálogo Sinalizadores Globais ou no prompt de comandos. Os exemplos a seguir usam o prompt de comando. Para obter informações sobre como usar a caixa de diálogo Sinalizadores Globais para configurar o Rastreamento de Referência de Objeto, consulte Configurando o Rastreamento de Referência de Objeto.
Você pode usar Gflags para habilitar, desabilitar e configurar o Rastreamento de Referência de Objeto. O processo é o seguinte:
Use Gflags para habilitar o Rastreamento de Referência de Objeto no Registro ou como uma configuração de sinalizador do kernel (tempo de execução). Se adicionar a definição ao registo, tem de reiniciar o computador para iniciar o rastreio. Se você habilitar a versão em tempo de execução das configurações, o rastreamento será iniciado imediatamente, mas as configurações de rastreamento serão revertidas para as da chave do Registro quando você desligar ou reiniciar o computador.
Inicie o processo que cria o objeto suspeito. O rastreamento inclui apenas objetos criados por processos que são iniciados após o início do rastreamento. Se o processo começar durante ou logo após a reinicialização, adicione as configurações de rastreamento ao registro e, em seguida, reinicie o sistema.
Use aextensão do depurador!obtrace para visualizar o rastreamento. Por padrão, o rastreamento é mantido até que o objeto seja destruído, mas você pode usar o parâmetro /p para manter o rastreamento até que o rastreamento seja desativado.
Use Gflags para desativar o Object Reference Tracing.in no registro ou como uma configuração de sinalizador do kernel (tempo de execução). Se eliminar a definição do registo, tem de reiniciar o computador para terminar o rastreio. Se você desabilitar a versão de tempo de execução das configurações, o rastreamento terminará imediatamente, mas as configurações de rastreamento serão revertidas para as do Registro quando você desligar ou reiniciar o computador.
Estes exemplos mostram como usar Gflags para habilitar e desabilitar o rastreamento de referência de objeto. \
Ativar rastreamento em tempo de execução
O comando a seguir habilita o Rastreamento de Referência de Objeto no prompt de comando. O comando usa o parâmetro /ko para habilitar o Rastreamento de Referência de Objeto como uma configuração de sinalizador do kernel (tempo de execução). O comando usa o parâmetro /t para especificar as tags de pool Tag1 e Fred. Como resultado, todos os objetos criados com Tag1 ou Fred são rastreados.
gflags /ko /t Tag1;Fred
Como o comando altera, em tempo de execução, as configurações do sinalizador do kernel, o rastreamento de referência de objeto é iniciado imediatamente. O rastreamento incluirá todos os objetos com as tags de pool Tag1 ou Fred que são criados por processos que são iniciados após o envio do comando.
Gflags responde imprimindo a seguinte mensagem:
Running Kernel Settings :
Object Ref Tracing Enabled
Temporary Traces
Pool Tags: Tag1;Fred
Process Name: All Processes
Esta mensagem indica que o Rastreamento de Referência de Objeto está habilitado. "Rastreamentos temporários" indica que todos os registros do rastreamento são excluídos quando o objeto é destruído. Para tornar o rastreamento "permanente", use o parâmetro /p , que direciona o Windows para reter os dados de rastreamento até que o Rastreamento de Referência de Objeto seja desativado ou o computador seja desligado ou reiniciado.
Habilitar rastreamento no Registro
O comando a seguir adiciona uma configuração de rastreamento de referência de objeto ao registro. O rastreamento que você configura começa quando você reinicia o computador.
O comando usa o parâmetro /ro para habilitar o Rastreamento de Referência de Objeto como uma configuração do Registro. O comando usa o /i para especificar o processo para notepad.exe e o parâmetro /t para especificar as tags de pool Tag1 e Fred. Como resultado, todos os objetos criados pelo processo do Notepad com as pool tags Tag1 ou Fred são rastreados. O comando também usa o parâmetro /p , que retém os dados de rastreamento até que o rastreamento seja desativado.
gflags /ro /t Tag1;Fred /i Notepad.exe /p
Quando você envia o comando, o Gflags armazena as informações no registro. No entanto, como as configurações do Registro não são efetivas até que você reinicie o computador, esse rastreamento de referência de objeto está configurado, mas ainda não foi iniciado.
Gflags responde imprimindo a seguinte mensagem:
Boot Registry Settings :
Object Ref Tracing Enabled
Permanent Traces
Pool Tags: Tag1;Fred
Process Name: Notepad.exe
A mensagem indica que o Rastreamento de Referência de Objeto está habilitado no Registro. "Rastreamentos permanentes" indica que os dados de rastreamento serão retidos até que você desligue ou reinicie o computador. A mensagem também lista as tags de pool e os nomes de arquivos de imagem que serão rastreados.
Exibir a configuração de rastreamento de referência de objeto
Você pode exibir a configuração de Rastreamento de Referência de Objeto que está atualmente em vigor ou está armazenada no Registro para ser usada quando o computador for reiniciado.
Neste exemplo, há uma configuração de Rastreamento de Referência de Objeto armazenada no registo e outra configurada durante a execução. O rastreamento em tempo de execução começa imediatamente (e substitui todas as configurações do registo). No entanto, se o sistema for reiniciado, as configurações de tempo de execução serão perdidas e as configurações de sessão de rastreamento de referências de objeto no registro entrarão em vigor.
O comando a seguir exibe a configuração de rastreamento de referência de objeto em tempo de execução. Ele usa o parâmetro /ko sem outros parâmetros.
gflags /ko
Running Kernel Settings :
Object Ref Tracing Enabled
Temporary Traces
Pool Tags: Tag1;Fred
Process Name: All Processes
Se o Rastreamento de Referência de Objeto estiver habilitado, como neste exemplo, as configurações exibidas descrevem um rastreamento em andamento.
O comando a seguir exibe os dados de configuração do Rastreamento de Referência de Objeto armazenados no Registro. Ele usa o parâmetro /ro sem outros parâmetros.
gflags /ro
Em resposta, Gflags exibe os dados armazenados no registro:
Boot Registry Settings :
Object Ref Tracing Enabled
Permanent Traces
Pool Tags: Tag1;Fred
Process Name: Notepad.exe
Se você tiver reiniciado o computador desde que adicionou a configuração de rastreamento de referência de objeto ao Registro, as configurações exibidas em resposta a um comando gflags /ro descrevem o rastreamento em andamento. No entanto, se você ainda não tiver reiniciado, ou tiver reiniciado, mas depois iniciado um rastreamento de referência de objeto em tempo de execução (/ko), as configurações armazenadas no registro não são efetivas no momento, mas elas se tornarão efetivas novamente quando você reiniciar o sistema.
Desativar rastreamento de referência de objeto
Quando desativa as definições de rastreamento de referências de objeto em tempo de execução (sinalizador do kernel), o rastreamento pára imediatamente. Quando se desativam as definições de rastreamento de referência de objeto no registo, o rastreamento para com o arranque do computador.
O comando a seguir desabilita o Rastreamento de Referência de Objeto em tempo de execução. Ele usa o parâmetro /d para desativar todas as configurações. Não é possível desativar as configurações seletivamente.
gflags /ko -d
Quando o comando é bem-sucedido, o Gflags responde com a seguinte mensagem:
Running Kernel Settings :
Object Ref Tracing Disabled
O comando a seguir desabilita o Rastreamento de Referência de Objeto em tempo de execução.
O comando a seguir desabilita as configurações de Rastreamento de Referência de Objeto no Registro. Ele usa o parâmetro /d para desativar todas as configurações. Não é possível desativar as configurações seletivamente. Este comando é eficaz quando reinicia o computador.
gflags /ro -d
Quando o comando é bem-sucedido, o Gflags responde com a seguinte mensagem:
Boot Registry Settings :
Object Ref Tracing Disabled