Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Depurar paso a paso

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

35 minutos

Pagas 10 euros y debías pagar 11,50

Tres amigos piden la cuenta en el bar. La app dice 10 euros. Tú has contado 11,50.

Alguien se ha equivocado, y no hay ningún mensaje de error. ¿Cómo encuentras el fallo?

Mirando el programa línea a línea, como un detective. Eso es depurar.

Palabras clave

PalabraQué significaEjemplo
DepurarBuscar y arreglar los fallos de un programa.Encontrar por qué sale 10 y no 11.5
BugUn fallo en un programa. En inglés quiere decir bicho.Un descuento mal calculado
Punto de paradaUna marca en una línea. El programa se detiene ahí.Una bolita roja junto a la línea 6
Paso a pasoAvanzar una sola línea cada vez.Pulsas un botón y avanza una línea
Variable observadaUna variable cuyo valor miras mientras el programa avanza.Mirar total tras cada línea
Tabla de seguimientoUna tabla donde apuntas el valor de cada variable en cada línea.Una fila por línea

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Depurar es investigar

Un bug es un fallo en el programa. Depurar es buscarlo y arreglarlo.

No adivines. No cambies cosas al azar. Un detective sigue las pistas.

Tu pista es el valor de cada variable. Cuando un valor sale distinto de lo que esperabas, el fallo está cerca.

Pruébalo: la cuenta del bar

Código: java
public class Main {
    public static void main(String[] args) {
        int coffees = 3;
        double coffeePrice = 1.5;
        int sandwiches = 2;
        double sandwichPrice = 3.5;

        double coffeeTotal = coffees * coffeePrice;
        double sandwichTotal = sandwiches + sandwichPrice;
        double total = coffeeTotal + sandwichTotal;
        double perPerson = total / 2;

        System.out.println("Total: " + total);
        System.out.println("Cada uno paga: " + perPerson);

        // Debería salir 11.5 y 5.75. No sale. ¿Dónde está el fallo?
    }
}

Primera técnica: escribe los valores

La forma más fácil de investigar es escribir los valores en la consola.

Añade un System.out.println después de cada cálculo. Así ves qué guarda cada variable.

Cuando un valor no es el que esperabas, has encontrado la zona del fallo.

Pruébalo: mira cada total

Código: java
public class Main {
    public static void main(String[] args) {
        int coffees = 3;
        double coffeePrice = 1.5;
        int sandwiches = 2;
        double sandwichPrice = 3.5;

        double coffeeTotal = coffees * coffeePrice;
        System.out.println("Café: " + coffeeTotal);

        double sandwichTotal = sandwiches + sandwichPrice;
        System.out.println("Bocadillos: " + sandwichTotal);

        // 2 bocadillos a 3.5 euros deberían ser 7.0.
        // Corrige la línea de sandwichTotal y ejecuta otra vez.
    }
}

Ejemplo resuelto: la tabla de seguimiento

LíneaVariableValor que saleValor esperado
coffeeTotal = coffees * coffeePricecoffeeTotal4.54.5
sandwichTotal = sandwiches + sandwichPricesandwichTotal5.57.0
total = coffeeTotal + sandwichTotaltotal10.011.5
perPerson = total / 2perPerson5.05.75

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Segunda técnica: el depurador

Los IDE tienen una herramienta llamada depurador. Hace lo mismo que tu tabla, pero sola.

Pones un punto de parada en una línea. Ejecutas en modo depuración. El programa se para ahí.

Ahora avanzas paso a paso y miras las variables. No hace falta escribir ningún println.

Los botones del depurador

BotónQué haceCuándo lo usas
ContinuarSigue hasta el siguiente punto de parada.Cuando ya has mirado esa zona
Paso siguienteEjecuta una línea y se para.Casi siempre
EntrarSe mete dentro del método que se llama.Cuando sospechas del método
SalirTermina el método y vuelve a la línea que lo llamó.Cuando ya has visto el método
PararTermina la depuración.Cuando has acabado

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Cada IDE los llama de una forma

Nota

Los botones tienen otro nombre según el IDE, y a veces llevan solo un dibujo. En inglés verás Step Over para Paso siguiente y Step Into para Entrar. Busca la idea, no el nombre.

Repaso rápido

Inténtalo

Repaso rápido

4 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

4 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.