Arduino:
Usando un depurador

Cómo:

Con el IDE de Arduino, puedes usar impresiones Serial para depurar, pero es un poco como usar una linterna para explorar una cueva. Para una depuración real, podrías querer subir de nivel tu juego con algo como el depurador Atmel-ICE, que se integra con el entorno de Arduino. Aquí tienes un sabor de la pseudo-depuración usando Serial:

void setup() {
  Serial.begin(9600);
}
void loop() {
  int sensorValue = analogRead(A0);
  Serial.print("Valor del Sensor: ");
  Serial.println(sensorValue);
  // Imagina que esperas 512 aquí, pero obtienes 0.
  // Momento de inspeccionar la conexión del sensor
  delay(1000); // Espera un segundo antes de leer de nuevo
}

Ejecuta esto con el Monitor Serial abierto, y verás lo que tu sensor expulsa en tiempo real.

Inmersión Profunda

Antes de los depuradores, era el mundo de las declaraciones de impresión: solo podías adivinar qué estaba pasando imprimiendo todo. La depuración con impresiones sigue siendo común, especialmente en entornos más simples o en hardware restringido como el Arduino.

Las alternativas a los emuladores en circuito como Atmel-ICE incluyen herramientas de depuración de software como avr-gdb. Puedes emparejarlo con avarice para crear un puente entre GDB y tu hardware, lo cual es súper útil para una depuración más avanzada directamente en el chip.

Usando un depurador, puedes establecer puntos de interrupción para detener la ejecución en ciertos puntos. Puedes avanzar a través de tu código línea por línea, inspeccionar memoria, registros y variables. Esto te permite precisar problemas en lugar de disparar en la oscuridad. Al implementar un depurador, asegúrate de que tu entorno esté configurado correctamente: las versiones incompatibles o las herramientas mal configuradas pueden llevar a frustraciones.

Ver También

¿Listo para profundizar? Sumérgete en estos: