segunda-feira, 29 de outubro de 2012

Debugando no Delphi

Este post é sobre alguns macetes do Debugger do Delphi que ajudam muito na hora de encontrar um erro ou mesmo corrigi-lo.

Erro de Acesso a Memória.


Esse tipo de erro é muito chato.
Primeiramente mostra uma mensagem muito assustadora para o usuário leigo.
Para o desenvolvedor a mensagem não permite saber o que ocasionou o erro.
Felizmente o Delphi permite encontrar a causa do erro com facilidade.
Basta acessar o menu Search -> Find Error.
Na caixa de diálogo que irá aparecer basta digitar o endereço que apareceu quando ocorreu o erro de acesso a memória. Neste exemplo: 0044E292 e clicar no botão OK e o Delphi irá para a linha onde o erro foi gerado.

Evaluate/Modify
Esta opção ajuda muito na hora de descobrir a causa de algum erro ou mesmo alterar o valor de uma variável durante a execução do programa.
Quando a execução do programa estiver parada, por exemplo, definindo um breakpoint.
Acesse o menu Run -> Evaluate/Modify. Este comando irá exibir a seguinte caixa de diálogo
.


Na caixa de edição Expression você pode digitar uma expressão. Por exemplo, supondo que você tenha uma variável linha do tipo string que contém uma linha lida de um arquivo texto e deseja saber o tamanho desta linha. Digite length(linha) e clique em Evaluate. O resultado aparecerá no campo Result.
Agora digamos que você deseja alterar o valor contido nesta variável linha. No campo Expression digite linha e clique em Evaluate. No campo Result aparecerá o valor contido na variável. Agora na caixa de edição New Value digite o novo valor da variável e clique em Modify. Muito útil quando, por exemplo, você descobre a causa daquele laço infinito e deseja continuar testando o programa. Basta alterar o resultado do teste feito no laço e continuar executando o programa normalmente.

0 comentários:

Blogger Template by Clairvo