quarta-feira, 11 de março de 2009

AVHunter

Estudei a fundo o arquivo MAP e acabei desenvolvendo uma rotina para ler o arquivo.
O meu objetivo era ter no meus logs a informação no momento de um Access Violation, abrindo mão do Eureka ou Mad Exception bem como do AVFinder (ao menos para este fim).

Acho que consegui um bom resultado por isso estou compartilhando o resultado.

Acesse:

http://code.google.com/u/jmarioguedes@gmail.com/updates

Desenvolvi e testei no Delphi 2007. Se você testar em outras versões poste seus comentários.

Para usar basta incluir a unit no teu projeto e em caso de Access Violation chamar a function LerMAPFile, passando o arquivo MAP bem como o endereço do AccessViolation, como no código abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
sl : TStringList;
begin
try
sl.Add('Olá Mundo'); //Não foi dado Create, logo será gerado um AccessViolation
except
on E : EAccessViolation do
begin
//ShowMessage(E.Message);
ShowMessage(LerMAPFile('blog.map',Copy(E.Message,29,8)));
end;
end;
end;


A saida seria algo assim:

principal.TForm1.Button1Click,33 principal

Minha lista de blogs