Registrar    Login   Sobre o InfoBlogs  

Recursos avançados de Debug no Eclipse    


Na minha opinião o melhor IDE para java é o eclipse. Vou mostrar algumas funcionalidades avançadas do mecanismo de debug do eclipse. Acredito que essas funcionalidades são as melhores. O que vamos ver?

  • Break Points Programaticos
  • Evaluação de expressões em tempo de runtime
Break Points Programaticos: Este é um recurso muito poderoso do eclipse que possibilita que nos possamos programar quando o eclipse irá disparar um break point. Assim evitando perda de tempo ao passar por uma serie de operações só pra chegar em um determinado ponto do programa.



Evaluação de expressões em tempo de runtime: Esta feature possibilita que programar expressos em tempo de runtime para saber determinado valor, ou setar algum valor para teste. Muitos outros IDEs tem essa facilidade, estou citando por que acredito que é uma boa feature.



Então vamos fazer um passo a passo de como fazer essas duas belezinhas funcionarem. Vamo lá!!!





Break Points Programaticos







1. Vamos tomar como base a classe ForTest, o código dela segue a baixo.



package org.diegopacheco.simpletests.tst;



import java.util.ArrayList;

import java.util.List;



public class ForTest {



static class Boneco{

private String nome;

private String cor;



public String getCor() {

return cor;

}

public void setCor(String cor) {

this.cor = cor;

}



public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}



}



private static String geraCor(){

String cores[] = {"verde","azul","amarelo","prata","preto"};

return cores[(int)(Math.random()*4)];

}



public static void main(String[] args) {



List bonecos = new ArrayList();

for(int i=0;i<=1000;i++){

Boneco b = new Boneco();

b.setNome("Boneco" + i);

b.setCor(geraCor());

bonecos.add(b);

}

}



}



2. Vamos colocar um break point na linha 40(bonecos.add(b);), para colocar um break point basta dar dois cliques do mouse em cima da linha.











3.Clique com o botão direito do mouse em cima do break point e selecione Breakpoint Properties...













4. Marque a opção enable condition e após isso coloque o seguinte código no text area: b.getCor().equals("azul")











5. Agora é só rodar o em modo debug e quando essa condição for satisfeita ele ira ativar esse break point.





Evaluação de expressões em tempo de runtime







1. Em perspectiva de debug vá na barra de menu windon -> show view -> display







2. Coloque o break point na linha 40.



3. Rode o programa em modo de debug e quando o programa para no break point, digitem o código: b.getCor()



dentro da janela de display. Selecione esse código e clique em display result ou aperte: CTRL + SHIFT + D







4. Existe a possibilidade de ver esse resultado inspecionado bata selecionar o código e clicar em Inspect Result ou apertar CTRL + SHIT + I







Então eras isso até a próxima pp pessoal. :)




Powered by ScribeFire.



 leia mais...





Ainda neste blog:

O que faz a diferença usando XP, Rup, Scrum ?


Maven 2.0.8 + Archiva 1.0.1 + Tomcat 6.0.16


Spring Dynamic Modules with Maven2: Um exemplo prático


Annotations com Spring 2.5 + Thinlet


RUP: Verdades e Mitos


RUP é Igual a eXtreme Programming


JQuery: Fazendo mais com menos?


DAO Generico


5 Motivos para você usar REST ao invez de WS-*


Scrum não subistitui gerenciamento de projetos


SOA: Cuidado com o Lock-In.


Chefe ou Lider: Como um GP deve ser?


Java 7


Message Driven POJOs == POJO-based asynchronous JMS


Threads e Closures em Groovy


Tira teima: Remoting com Spring


Carreira em X e carreira em Y


XML VS Annotations VS Convenção


Spring Framework Estupidamente melhor


Osgi: The Future is Now


POJOS + Osgi + SCA + Jini == Newton


O Papel dos Requisitos


12 Melhores praticas para configuração de XML no Spring Framework


A Caixa de Ferramentas


Não Continue Errando


Benchmark aplicado: Clone Benchmark


JOSSO o Single Sign On que funciona!


JBoss 5.0.1.GA, EJB3, Maven2 e Cargo Juntos e na Prática


Certificado SCWCD 5.0


SOA sem BPMN e WebServices


As Diferenças do OpenUp para o RUP


Backup fácil no Ubuntu com Groovy e Groosh


Subversion 1.5: Até que em fim


BPM com BizAgi Process Modeler


OpenUP/Basic: Um framework Ágil e Unificado


Curso Gratuito de Spring Framework


Palestra Gratuita: AOP/AspectJ


Procura-se Tradutor Java!


Estão todos errados: Banquinho Rules!


Plugins essenciais para o Firefox 3


RUP: A Importância dos Marcos


Os lemmings corporativos Vs Os buzzwords do momento


Estimativa não Exatimativa!


Queries em arquivos de texto com o MetaModel


Seja Inteligente e não use Agile


Catalogo de Patterns do GOF


Google Chrome: Uma Promessa?


Continuous Integration


LinkedIn


Scrum!!!





Categoria: Java Blog: Diego Pacheco Visualização: Abrir com frame