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
uses
e a declaraçãobegin
eend
de 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.pas
do 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.pas
que 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