Recursos avançados de Debug no Eclipse
Publicado há 996 dias atrás
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?
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á!!!
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.

Então eras isso até a próxima pp pessoal. :)
- Break Points Programaticos
- Evaluação de expressões em tempo de runtime
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
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
4. Existe a possibilidade de ver esse resultado inspecionado bata selecionar o código e clicar em Inspect Result ou apertar CTRL + SHIT + I1. 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


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


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
Scrum!!!
Categoria: Java Blog: Diego Pacheco Visualização: Abrir com frame

