Cargando...

debugging en Java

Encuentra un resultado malo imprimiendo los valores que ya tienes, luego arregla la linea incorrecta. En Yard.java, escribe int x = 10; e int y = 2;. Imprime x e y. Calcula int sum = x - y; por error e imprime sum. Compila con javac Yard.java y ejecuta java Yard. La pantalla debe mostrar los dos valores y luego 8. Una segunda demo cambia el operador a + para que sum imprima 12. Deja Javadoc para la pagina siguiente — esta leccion es leer la pantalla para atrapar un error de logica.

Imprime los valores alrededor de una suma mala

La pagina equals comparo texto de cadenas. Esta pagina caza una linea aritmetica mala. Abre Yard.java. Mantén el nombre de clase publica Yard. Borra demos sobrantes de equals / == si entierran la historia de debug, archivos horn de Machine sobrantes, demos de ruta y cualquier Scanner de teclado. El programa no debe esperar que escribas. No necesitas linea import.
Dentro de Yard.main, pon los numeros e imprimelos antes de confiar en la suma:
int x = 10;
int y = 2;
System.out.println("x=" + x);
System.out.println("y=" + y);
Luego mantén a proposito una linea con bug para la primera demo:
int sum = x - y;
System.out.println(sum);
Las impresiones de x e y prueban las entradas. El 8 impreso prueba que el operador es incorrecto para una suma.

Yard debug prints with minus bug

java
public class Yard {
    public static void main(String[] args) {
        int x = 10;
        int y = 2;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        int sum = x - y;
        System.out.println(sum);
    }
}

Desde la carpeta que guarda Yard.java, ejecuta javac Yard.java. Cuando parentesis, llaves y puntos y coma coinciden, javac no escribe una linea propia. Luego ejecuta java Yard — no java Yard.java. Quita la extension .java del comando de ejecucion. Mantén una clase publica en el archivo para que el nombre coincida con Yard.
La pantalla muestra x=10, luego y=2, luego 8. Recorre la ejecucion una vez. Java empieza en Yard.main. Las dos primeras impresiones confirman los numeros guardados. La tercera impresion muestra el resultado de la resta, no de la suma. El programa compilo y corrio — esto es un error de logica, no un punto y coma faltante.
Haz la cuenta en papel una vez junto a la pantalla: diez menos dos es ocho. Coincide con la ultima linea, asi que el bug no es un valor de variable incorrecto; el bug es el operador que elegiste para una suma. Cuando las entradas impresas se ven bien y el resultado se ve mal, busca la expresion que construyo el resultado.
Si aun ves true / false de un archivo equals, cambia al archivo de enseñanza de debugging y ejecuta java Yard de nuevo. Si cambias el operador sin imprimir x e y, adivinas a oscuras. Mantén las impresiones de valor hasta que la pantalla coincida con lo que esperas de las entradas. Deja las etiquetas temporales mientras cazas; puedes ordenarlas despues de probar el arreglo.
Di la regla en voz alta mientras miras la pantalla: imprime los hechos, lee el resultado malo, luego cambia la linea que lo causo. No inventes un bloque de comentario Javadoc como arreglo en esta pagina. Javadoc espera la siguiente leccion.

Arregla el operador y vuelve a ejecutar

Un segundo programa mantiene las mismas impresiones de x e y. La linea de suma usa + en vez de -. La ultima impresion debe mostrar 12.

Yard fixed plus sum

java
public class Yard {
    public static void main(String[] args) {
        int x = 10;
        int y = 2;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        int sum = x + y;
        System.out.println(sum);
    }
}

Compila con javac Yard.java, luego ejecuta java Yard. La pantalla muestra x=10, luego y=2, luego 12. Las entradas no cambiaron. El operador si. Ese es el bucle de debug para esta forma de principiante: ves los valores, detectas la operacion mala, la arreglas, compilas otra vez, ejecutas otra vez.
Lee la linea de suma una vez mas: int sum = x + y;. Mantén las impresiones con etiqueta para que un error posterior siga mostrando las entradas. Cuando el ultimo numero coincida con 10 + 2, la linea de logica queda arreglada para esta demo. Compara los dos archivos de enseñanza lado a lado si ambos estan abiertos: la unica diferencia intencional debe ser - frente a + en la linea de suma.
Si demos equals sobrantes siguen cerca, guardalas como historia. Para esta leccion ejecuta el archivo de enseñanza de debugging para que la pantalla muestre numeros, no booleanos de cadenas. Si javac se queja de clases publicas duplicadas, mantén solo Yard public.

Una lista corta de debug

La tabla es el mapa corto de esta pagina. Primero miras. Luego imprimes. Luego cambias una linea clara y verificas. Salta adivinar sin pantalla. Salta borrar todas las impresiones antes de saber que el arreglo funciono.

📊 Beginner debug steps on Yard

Step What you do
1 Run java Yard and read every printed line
2 Add println for the values you distrust
3 Fix the bad operator or condition, then compile and run again

Comparado con comprobaciones equals

En la pagina equals, equals y == respondieron contenido frente a identidad para cadenas. En esta pagina, println responde cuales son realmente tus numeros cuando un resultado parece mal. Sigues compilando Yard.java y ejecutando java Yard. Los habitos nuevos son impresiones de valor con etiqueta, leer un resultado malo como pista, y volver a ejecutar tras un arreglo de una linea.
Debugging aqui no es un menu especial. Es salida ordinaria usada como linterna sobre tus propias variables. Cuando la linterna muestra buenas entradas y un mal resultado, la expresion que construyo el resultado es la sospechosa.
Si un archivo sobrante a.equals(b) sigue abierto, veras true y false. Cambia al archivo de debugging para que main imprima x, y y sum. Mantén demos de Javadoc fuera de esta pagina. Mantén la entrada de teclado fuera de esta pagina.

Antes de Javadoc

Puedes imprimir x e y, mantener un bug de resta y ver 8 despues de las etiquetas. Puedes cambiar el operador a suma y ver 12. Compila Yard.java y ejecuta java Yard para cada demo guardada por turno. La pantalla te dijo donde fallo la logica. La pagina siguiente es Javadoc, donde documentas metodos con comentarios especiales para lectores y herramientas.
Mantén la demo con bug para una pantalla mala clara. Mantén la demo arreglada para un paso de verificacion claro. Mantén archivos Javadoc fuera de esta pagina. Esos tres habitos son el punto de control antes de avanzar. Cuando impresiones con etiqueta mas una suma corregida coinciden con 10 + 2, debugging hizo su trabajo en esta leccion y estas listo para el siguiente tema sobre Javadoc.
Una ultima pasada por la carpeta: un Yard publico, impresiones de valor alrededor de la suma, sin espera de teclado, sin comentarios de documentacion forzados. Ejecuta javac Yard.java y java Yard una vez mas en la demo que mantienes abierta. Si la pantalla sigue mostrando las entradas y el resultado que esperas, el bucle de debug es solido y el curso puede pasar a Javadoc en la pagina siguiente. Prefiere un arreglo claro a la vez para que cada nueva ejecucion ensene un cambio.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
5
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior