Java:
Usando um depurador

Como Fazer:

Digamos que você tenha um simples programa Java que está causando problemas, e você não consegue descobrir o porquê. Aqui está como você iniciaria um depurador usando o Eclipse, um dos IDEs populares para desenvolvimento Java:

Primeiro, certifique-se de que você definiu um ponto de interrupção. Em seguida, clique com o botão direito no arquivo, selecione ‘Depurar Como’, e clique em ‘Aplicação Java’.

public class ExemploDebug {
    public static void main(String[] args) {
        int a = 5;
        int b = 0;
        // Defina um ponto de interrupção aqui
        int resultado = dividir(a, b);
        System.out.println("O resultado é: " + resultado);
    }

    private static int dividir(int numerador, int denominador) {
        // Outro bom local para um ponto de interrupção
        return numerador / denominador;
    }
}

Fazendo isso, seu programa pausará no ponto de interrupção, e você poderá inspecionar variáveis, avançar através do código linha por linha e observar como seu programa se comporta.

Saída de Exemplo (em um console de depurador):

Ponto de interrupção atingido em: int resultado = dividir(a, b);

Aprofundando

O conceito de depuração existe desde os primeiros dias da programação. Há uma lenda de que o termo “bug” veio de um inseto real encontrado dentro de um computador por Grace Hopper, pioneira na área. Avançando para hoje, temos IDEs sofisticados como IntelliJ IDEA, Eclipse e NetBeans que possuem depuradores poderosos.

Alternativas aos depuradores de IDE incluem logging, instruções de impressão (depurador dos pobres), asserções e ferramentas de depuração independentes como jdb (Java Debugger), que faz parte do Java Development Kit (JDK).

Um depurador funciona permitindo que o programador pause a execução (pontos de interrupção), avance pelo código, inspecione valores de variáveis, modifique esses valores em tempo real e até execute blocos de código um a um. O uso de um depurador é frequentemente considerado uma técnica inestimável para desenvolver aplicações complexas, onde rastrear a linha exata de código causando um problema pode ser comparado a encontrar uma agulha no palheiro.

Veja Também