Arduino:
การใช้งานโปรแกรมดีบักเกอร์

วิธีการ:

ด้วย Arduino IDE, คุณสามารถใช้ Serial prints เพื่อเดบักได้ แต่ก็เหมือนกับการใช้ไฟฉายสำรวจถ้ำ สำหรับการเดบักจริง, คุณอาจอยากจะยกระดับเกมของคุณด้วยอะไรสักอย่างเช่น Atmel-ICE debugger ซึ่งรวมเข้ากับสภาพแวดล้อม Arduino ต่อไปนี้เป็นรสชาติของการเดบักแบบปลอมๆ โดยใช้ Serial:

void setup() {
  Serial.begin(9600);
}
void loop() {
  int sensorValue = analogRead(A0);
  Serial.print("ค่าเซนเซอร์: ");
  Serial.println(sensorValue);
  // จินตนาการว่าคุณกำลังคาดหวัง 512 ที่นี่ แต่ได้ 0
  // เวลาในการตรวจสอบการเชื่อมต่อเซนเซอร์
  delay(1000); // รอเป็นเวลาหนึ่งวินาทีก่อนที่จะอ่านอีกครั้ง
}

เรียกใช้นี้ด้วย Serial Monitor เปิดอยู่ และคุณจะเห็นสิ่งที่เซ็นเซอร์ของคุณผลิตออกมาในเวลาจริง

ดำดิ่งลึก

ก่อนที่จะมีเดบักเกอร์ เป็นโลกของการใช้คำสั่งพิมพ์ - คุณสามารถเดาได้เพียงว่าอะไรกำลังเกิดขึ้นโดยการพิมพ์ทุกอย่างออกมา เดบักด้วยคำสั่งพิมพ์ยังคงเป็นที่นิยม โดยเฉพาะในสภาพแวดล้อมที่ง่ายกว่าหรือในฮาร์ดแวร์ที่มีข้อจำกัดเช่น Arduino

ทางเลือกเพื่อการใช้เอมิเลเตอร์ในวงจรเช่น Atmel-ICE รวมถึงเครื่องมือเดบักซอฟต์แวร์เช่น avr-gdb คุณสามารถจับคู่มันกับ avarice เพื่อสร้างสะพานระหว่าง GDB กับฮาร์ดแวร์ของคุณซึ่งเป็นสิ่งที่สำหรับการเดบักขั้นสูงโดยตรงบนชิป

โดยใช้เดบักเกอร์, คุณสามารถตั้งจุดหยุด (breakpoints) เพื่อหยุดการดำเนินการที่จุดหลักๆ คุณสามารถเดินรหัสของคุณทีละบรรทัด, ตรวจสอบหน่วยความจำ, รีจีสเตอร์, และตัวแปร สิ่งนี้ช่วยให้คุณชี้แจงปัญหาแทนที่จะกระทำโดยคาดการณ์ เมื่อใช้เดบักเกอร์ ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมของคุณตั้งค่าอย่างถูกต้อง - รุ่นที่ไม่ตรงกันหรือเครื่องมือที่ตั้งค่าไม่ถูกต้องอาจทำให้เกิดความผิดหวัง

ดูเพิ่มเติม

พร้อมที่จะดำดิ่งลึกขึ้น? สำรวจสิ่งเหล่านี้: