หน่วยที่ 2 EP.3: ตามล่าหาบั๊ก! การหาและแก้ไขข้อผิดพลาด (Debugging)
  • By Admin
  • 0
  • 13 เม.ย. 2569

หน่วยที่ 2 EP.3: ตามล่าหาบั๊ก! การหาและแก้ไขข้อผิดพลาด (Debugging)

เรียนรู้วิถีโปรแกรมเมอร์มืออาชีพ! ทำความรู้จักกับ "บั๊ก (Bug)" หรือข้อผิดพลาดที่ซ่อนอยู่ในโปรแกรม พร้อมฝึกทักษะ "ดีบั๊ก (Debugging)" ตรวจสอบลำดับคำสั่งทีละขั้นตอนเพื่อค้นหาและแก้ไขข้อผิดพลาดให้โปรแกรมกลับมาทำงานได้สมบูรณ์ ผ่านตัวอย่างภารกิจพาน้องผึ้งเก็บน้ำหวาน!

🔍 หน่วยที่ 2 EP.3: การหาและแก้ไขข้อผิดพลาด

ตามล่าหา "บั๊ก" และวิชา Debugging!

บางครั้งเมื่อเราเขียนโปรแกรมเสร็จแล้วกดให้มันทำงาน หุ่นยนต์หรือตัวละครกลับเดินชนกำแพง หรือทำภารกิจไม่สำเร็จตามที่เราคิดไว้ ไม่ต้องตกใจไปครับ! เพราะแม้แต่โปรแกรมเมอร์ระดับโลกก็ยังเขียนโปรแกรมพลาดได้ วันนี้เราจะมาเรียนรู้วิธีแก้ไขกันครับ!

🐞 1. รู้จักกับ "บั๊ก (Bug)"

ในภาษาคอมพิวเตอร์ คำว่า "บั๊ก (Bug)" ไม่ได้แปลว่าแมลงสาบหรือมดที่วิ่งอยู่ในเครื่องคอมพิวเตอร์นะครับ!

คำศัพท์น่ารู้:
  • Bug (บั๊ก): หมายถึง "ข้อผิดพลาด" ที่เกิดขึ้นในโปรแกรม ทำให้โปรแกรมทำงานไม่ถูกต้อง
  • Debugging (การดีบั๊ก): หมายถึง วิธีการ "ค้นหาและแก้ไขข้อผิดพลาด" นั้นให้หายไปนั่นเองครับ

🕵️‍♂️ 2. วิธีการ Debugging ทีละขั้นตอน

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

❌ โปรแกรมที่เขียนผิด (มีบั๊ก):
เดินหน้า ➡️ เก็บองุ่น
(ความจริงแล้วแรคคูนอยู่ห่างจากองุ่น 2 ก้าว ถ้าเดินแค่ก้าวเดียวแล้วเก็บเลย แรคคูนจะเก็บคว้าน้ำ เพราะยังไม่ถึงองุ่น!)
✅ โปรแกรมที่แก้ไขแล้ว (ดีบั๊กแล้ว):
เดินหน้า ➡️ เดินหน้า ➡️ เก็บองุ่น
(ตรวจสอบแล้วพบว่าขาดคำสั่งเดินหน้าไป 1 ก้าว จึงแทรกคำสั่งเข้าไปให้ถูกต้อง)

🐝 3. ตัวช่วยหาข้อผิดพลาดใน Code.org

เวลาที่เราฝึกเขียนโปรแกรมในเว็บไซต์ Code.org (เช่น เกมผึ้งเก็บน้ำหวาน) หากโปรแกรมเรายาวมากและหาบั๊กไม่เจอ ระบบจะมีตัวช่วยที่เรียกว่า ปุ่ม "เป็นขั้นตอน (Step)" ครับ

เมื่อเรากดปุ่ม "เป็นขั้นตอน" โปรแกรมจะทำงานทีละ 1 บล็อกคำสั่งแล้วหยุดรอ ทำให้เราค่อยๆ สังเกตการเคลื่อนที่ของตัวละครได้ว่า มันเริ่มเดินผิดทิศทาง หรือทำงานผิดพลาดที่บล็อกคำสั่งสีอะไร บรรทัดไหน ถือเป็นเทคนิคการหาข้อผิดพลาดที่โปรแกรมเมอร์ใช้กันบ่อยที่สุดเลยครับ!

🧩 มินิควิซ ทบทวนความรู้ EP.3

มาทดสอบความเป็นนักสืบหาข้อผิดพลาดกัน!

ข้อที่ 1: ในภาษาคอมพิวเตอร์ คำว่า "บั๊ก (Bug)" หมายถึงอะไร?

ข้อที่ 2: ถ้านักเรียนเขียนโปรแกรมสั่งให้ตัวละครเดินไปเก็บของ แต่ตัวละครกลับเดินชนกำแพง นักเรียนควรทำสิ่งใดเป็นอันดับแรก?

ข้อที่ 3: ในเว็บไซต์ Code.org ปุ่มคำสั่ง "เป็นขั้นตอน (Step)" มีประโยชน์อย่างไรในการหาข้อผิดพลาด?


แชร์ :

บทเรียนอื่น ๆ