Partilhar via


Usando Logger.exe

Uma maneira de ativar o Agente é executar o programa de Logger.exe autônomo. Isso é essencialmente um depurador muito pequeno que só pode ter um único destino. Para executá-lo, inclua o nome do aplicativo de destino na linha de comando:

logger Target 

Quando isso for ativado, ele carregará o aplicativo especificado e inserirá o código no aplicativo de destino que saltará para uma rotina que carrega e inicializa Logexts.dll no processo do aplicativo de destino. Isso é chamado de "injetar Agente no aplicativo de destino".

O utilitário Logger.exe e o módulo Logexts.dll são os dois componentes desse veículo agente. Eles se comunicam por meio de uma seção compartilhada de memória que inclui os identificadores de arquivo de saída, a máscara de categoria atual e um ponteiro para o buffer de saída de log.

Uma janela intitulada Agente (depurador) será exibida. Esta janela exibirá o progresso do Agente.

Caixa de diálogo Alterar Configurações

Depois que a inicialização for concluída e a exibição inicial for concluída, a caixa de diálogo Alterar Configurações será exibida. Isso permite que você defina as configurações do Agente. As várias configurações são descritas aqui:

Configurações de API
Esta lista exibe as categorias de API disponíveis. As categorias realçadas serão registradas; as categorias não realçadas não serão. Na primeira vez que você executar o Agente, todas as categorias serão realçadas. No entanto, em execuções subsequentes, o Agente manterá o controle de quais categorias são selecionadas para um determinado aplicativo de destino.

Se uma categoria estiver desabilitada, os ganchos para todas as APIs nessa categoria serão removidos para que não haja mais sobrecarga de desempenho. Os ganchos COM não são removidos porque não podem ser habilitados novamente à vontade.

Habilitar apenas determinadas categorias pode ser útil quando você está interessado apenas em um tipo específico de interação que o programa está tendo com o Windows , por exemplo, operações de arquivo. Isso reduz o tamanho do arquivo de log e também reduz o efeito que o Agente tem na velocidade de execução do processo.

Log
Esta seção contém os botões de opção Habilitar e Desabilitar . Desabilitar o registro em log fará com que todos os ganchos de API sejam removidos em um esforço para permitir que o programa seja executado livremente. Os ganchos COM não são removidos porque não podem ser habilitados novamente à vontade.

Lista de Inclusão/Exclusão
Esta seção controla a lista de inclusão/exclusão do módulo. Geralmente, é desejável registrar apenas as chamadas de função feitas de um determinado módulo ou conjunto de módulos. Para facilitar isso, o Agente permite que você especifique uma lista de inclusão de módulo ou, como alternativa, uma lista de exclusão de módulo. Por exemplo, você usaria uma lista de inclusão se quisesse apenas registrar chamadas de um ou dois módulos. Se você quisesse registrar chamadas feitas de todos os módulos, exceto uma pequena lista de módulos, usaria uma lista de exclusões. Os módulos Logexts.dll e Kernel32.dll são sempre excluídos, pois o Agente não tem permissão para registrar em si mesmo.

Liberar o buffer
Esse botão liberará o buffer de saída atual. Como consideração de desempenho, a saída de log é liberada para o disco somente quando o buffer de saída está cheio. Por padrão, o buffer é de 2.144 bytes.

Como a memória do buffer é gerenciada pelo aplicativo de destino, a gravação automática do buffer nos arquivos de log no disco não ocorrerá se houver uma violação de acesso ou algum outro erro não recuperável no aplicativo de destino. Nesses casos, você deve tentar ativar a janela do aplicativo de destino e pressionar F12 para recuperar essa caixa de diálogo e pressionar Liberar o Buffer. Se isso não for feito, as funções registradas mais recentemente poderão não aparecer nos arquivos de log.

Ir
Isso faz com que o aplicativo de destino comece a ser executado.

Executando o aplicativo de destino

Depois de escolher as configurações, selecione Ir. A caixa de diálogo será fechada e o aplicativo de destino começará a ser executado.

Se você ativar a janela do aplicativo de destino e pressionar F12, ela entrará no Agente. Isso fará com que o aplicativo de destino congele e a caixa de diálogo Alterar Configurações reapareça. Você pode alterar as configurações se desejar e pressionar Ir para continuar a execução.

Você pode permitir que o aplicativo de destino seja executado pelo tempo que desejar. Se terminar normalmente ou devido a um erro, o log será interrompido e não poderá ser reiniciado.

Quando você quiser sair, selecione Arquivo | Saia e selecione Sim. Se o aplicativo de destino ainda estiver em execução, ele será encerrado.

Limitações de Logger.exe

Quando você estiver executando o Agente por meio da ferramenta Logger.exe, ele criará apenas um arquivo de saída : um arquivo .lgv. Nenhum arquivo de texto será gravado. No entanto, um arquivo de .txt de tamanho zero será criado; isso poderia substituir um log de texto gravado pelo depurador anteriormente.

O arquivo de saída sempre será colocado no subdiretório LogExts da área de trabalho; esse local não pode ser alterado.

Essas limitações não se aplicarão se você estiver executando o Agente por meio do depurador e do Logexts.dll.