conhecendo o debugger do delphi

5
Conhecendo o Debugger do Delphi Se você usa o Delphi 7 ou versão anterior até tem uma desculpa para não co recursos do Debugger do Delphi as janelas com as informações interessantes ficavam escondidas, por padrão, e era necessário ir atrás delas para exibí-las e u mais recentes, até o novo Delphi 2007, ele vem com um “Debug Desktop” pré -definido com a maioria das janelas já configuradas como visíveis, e assim as informações acessíveis. Apesar disso, acredito que ainda existe quem as ignora e conti esses recursos interessantes. Como pretendo escrever mais artigos sobre recursos de debugger, mostrando e citando as suas janelas, não posso deixar que você não conheça cada uma uma passada rápida por elas. Breakpoints Ctrl-Alt-B A janela de Breakpoints permite gerenciar todos os breakpoints de uma form possível adicionar novos breakpoints, incluindo breakpoints de dados, apag todos ou seletivamente. Call Stack Ctrl-Alt-S Call Stack mostra a pilha de chamadas, que é a sequência das rotinas que f para que a execução chegasse naquele ponto que o programa se encontra. Bas saber o contexto que você está examinando, para saber porquê a execução ch Particularmente útil quando a execução do programa passa por um ponto que você não sabe bem o motivo. Watches Ctrl-Alt-W

Upload: davi-gustavo-almeida

Post on 21-Jul-2015

51 views

Category:

Documents


1 download

TRANSCRIPT

Conhecendo o Debugger do DelphiSe voc usa o Delphi 7 ou verso anterior at tem uma desculpa para no conhecer todos os recursos do Debugger do Delphi as janelas com as informaes interessantes ficavam escondidas, por padro, e era necessrio ir atrs delas para exib-las e utiliz-las. Nas verses mais recentes, at o novo Delphi 2007, ele vem com um Debug Desktop pr-definido com a maioria das janelas j configuradas como visveis, e assim as informaes ficaram bem mais acessveis. Apesar disso, acredito que ainda existe quem as ignora e continua sem conhecer esses recursos interessantes. Como pretendo escrever mais artigos sobre recursos de debugger, mostrando dicas e truques e citando as suas janelas, no posso deixar que voc no conhea cada uma delas. Vamos dar uma passada rpida por elas. Breakpoints Ctrl-Alt-B

A janela de Breakpoints permite gerenciar todos os breakpoints de uma forma rpida. possvel adicionar novos breakpoints, incluindo breakpoints de dados, apagar/desabilitar todos ou seletivamente. Call Stack Ctrl-Alt-S

Call Stack mostra a pilha de chamadas, que a sequncia das rotinas que foram chamadas para que a execuo chegasse naquele ponto que o programa se encontra. Bastante til para saber o contexto que voc est examinando, para saber porqu a execuo chegou at ali. Particularmente til quando a execuo do programa passa por um ponto que no deveria e voc no sabe bem o motivo. Watches Ctrl-Alt-W

Watches permitem monitorar o valor de variveis e o resultado de expresses durante a depurao. Bom para acompanhar o contedo de alguma varivel que no deveria estar sendo alterada. No se esquea do atalho para criar um novo watch Ctrl-F5. Local Variables Ctrl-Alt-L

Uma espcie de watches automticos, a janela de Local Variables mostra o contedo das variveis locais um mtodo. No deixe de us-lo quando estiver passando por algum mtodo que faz clculos essencial ter todos os valores vista. Threads Ctrl-Alt-T

Mostra todas as threads que pertencem ao seu processo, e seu status. Permite alterar a thread corrente para voc depur-la. Event Log Ctrl-Alt-V

O Event Log um painel importante para vrios truques de depurao. nele que vo vrias mensagens do debugger, como o inicio de threads, excees, paradas em breakpoints. Modules Ctrl-Alt-M

A janela de Modules mostra todos os mdulos carregados pelo seu executvel, inclusive o caminho completo de cada um. Contm informao importante para aplicativos que so modularizados em DLLs e/ou BPLs, ajudando a descobrir qual arquivo est realmente sendo carregado, evitando o tempo perdido quando voc compila um mdulo mas o seu aplicativo carrega um cpia dele em uma pasta diferente. Tambm diz quais dos mdulos possuem smbolos para o debugger utilizar, e, para cada mdulo, mostra uma lista de funes exportadas por ele, levando at a sua implementao. CPU/FPU Window Ctrl-Alt-C, Ctrl-Alt-F

As janelas de CPU e FPU mostram o contedo da memria, dos registradores do processador, e o disassembly do cdigo que est sendo executado no momento. relativamente assustadora para quem no conhece assembly, mas de qualquer forma, o acesso de baixo nvel que possvel ter permite a investigao dos piores problemas, e alguns truques interessantes.

Todas as janelas acimas, alm de disponveis pelos atalhos que listei, tambm esto em View/Debug Windows. Outras duas janelas importantes que no esto acessveis por este menu so: Evaluate/Modify Ctrl-F7

Evaluate/Modify um recurso que eu espero que voc j tenha usado pelo menos alguma vez. Ele mostra o contedo de uma varivel e permite a sua alterao. Tambm calcula o resultado de expresses e funes. Essencial para alguns truques que vou mostrar no futuro. Debug Inspector

Uma janela que mostra o contedo de uma objeto ou outra estrutura em tempo de execuo da mesma forma que o Object Inspector mostra as propriedades de componentes em tempo de projeto, um recurso bastante til e geralmente desconhecido e no utilizado. Para ativ-lo existem algumas formas diferentes. Nas verses mais antigas, Ctrl-Clique em um identificador em tempo de projeto levava at a sua declarao, e durante a depurao abria o Debug Inspector. Nas verses mais recentes do Delphi o Ctrl-Clique foi incrementado para levar at a declarao durante a depurao tambm, ento o atalho para o Debug Inspector

mudou para Ctrl-Shift-Clique. Tambm possvel abrir o Debug Inspector dando um duplo clique em um objeto na janela de Local Variables. Tanto o Evaluate/Modify quanto o Debug Inspector tambm so acessveis pelo menu de contexto do editor.