Este projeto mapeia automaticamente os métodos de um arquivo .pas e insere um registrador de eventos para rastreamento de entrada e saída de cada método. O objetivo é fornecer uma ferramenta que facilite a análise de execução e a correção de bugs, permitindo o acompanhamento preciso do fluxo de chamadas.
- Mapeamento Automático: Identifica automaticamente todos os métodos no arquivo
.pas. - Rastreamento de Eventos: Insere um log de entrada e saída em cada método mapeado.
- Análise de Execução: Registra as informações necessárias para análise posterior do fluxo do programa, ajudando a identificar e corrigir bugs com maior facilidade.
- Fácil Integração: Simples de integrar em projetos Delphi já existentes.
- Sem dependência: Tudo que precisa para funcionar está no projeto.
- Inspirado nesse projeto ase379/gpprofile2017 com foco em simplicidade.
- Utiliza RomanYankovsky/DelphiAST para identificar a posição do
usese a declaraçãobegineendde cada método.
Caution
Recomendo fazer um backup dos fontes antes de fazer o mapeamento.
Tip
Abra uma Issue se você encontrar algum bug ou sugestão de melhoria.
- Compile e execute o projeto
Mapper- Ele analiza e insere o mapeamento no fonte
.\Logger\src\Logger.Test.pasdo projetoLogger - Verifique na pasta
bin, deve ter gerado um arquivoMapper.json - É possível remover o mapeamento usando o método
TMapper.Disable(Units);
- Ele analiza e insere o mapeamento no fonte
- Compile e execute o projeto
Logger- Verifique na pasta
bin, deve ter gerado um arquivoLogger.log - Esse projeto contem o fonte
Logger.Test.pasque foi mapeado na etapa anterior peloMapper
- Verifique na pasta
- Compile e execute o projeto
Viewer- Verifique na pasta
bin, deve ter gerado um arquivoViewer.json - Nesse arquivo vai estar a pilha das chamadas de todos os métodos executados com a data e hora de cada entrada e saída
- Verifique na pasta