Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การดีบั๊ก JavaScript ด้วย Firebug

การดีบั๊ก (Debugging) เป็นกระบวนการอย่างเป็นระบบในการกำจัดข้อบกพร่อง (Bugs) เริ่มจากการรัน Test Cases เปรียบเทียบผลลัพธ์จริงกับที่คาดหวัง หากไม่ตรงกัน จะทำ Root Cause Analysis และรัน Regression Tests

JavaScript ไม่มีเครื่องมือดีบั๊กที่แข็งแกร่งในตัว แต่ Firebug (ส่วนขยาย Firefox) ทำให้ดีบั๊ก JavaScript ง่ายขึ้นมาก หมายเหตุ: Firebug หยุดพัฒนาตั้งแต่ Firefox 57 (2017) ให้ใช้ Firefox DevTools แทน

องค์ประกอบหลักของ Firebug Debugger

1. JSEditor (JavaScript Editor)

อนุญาตให้ดีบั๊กโค้ด JS ด้วยตัวเลือก "Break on All Errors" - ติ๊กเลือกเพื่อหยุดการทำงานของสคริปทันทีที่มีข้อผิดพลาด

2. Script Tab (แท็บสคริปต์)

แท็บที่ 4 ในแผง Firebug (Console, HTML, CSS, Script) แบ่งเป็น 2 ส่วน:

  • ซ้าย: JavaScript Editor
  • ขวา: Watch Panel และ Breakpoint Panel

3. JSFileSelector

แสดงรายการไฟล์ JavaScript ทั้งหมดที่โหลดในหน้าเว็บ

4. Breakpoint

จุดหยุดการทำงานของ JavaScript มี 3 ประเภท:

  • Static Breakpoint - คลิกที่บรรทัดโค้ดใน Script Panel
  • Conditional Breakpoint - หยุดเมื่อเงื่อนไขเป็นจริง
  • Dynamic Breakpoint - ตั้งจากคำสั่ง Command Line ด้วยฟังก์ชัน debug(fn) และ undebug(fn)

5. List of Breakpoints

แสดงรายการ Breakpoints ทั้งหมด สามารถลบที่ไม่ต้องการได้

6. Watch Window

แสดงค่าตัวแปรทั้งหมดในขอบเขต (Scope) ปัจจุบัน ต่างจาก Visual Studio ที่แสดงเฉพาะตัวแปรที่เลือก

วิธีติดตั้ง Firebug Add-on (เก่า - สำหรับ Firefox รุ่นเก่า)

  1. เปิด Firefox → Open Menu (มุมขวาบน) → Add-ons
  2. ค้นหา "Firebug" → กด Install

ขั้นตอนการดีบั๊ก 8 ขั้นตอน (Firebug Legacy)

  1. เขียนโค้ด JS บันทึกเป็น .htm → เปิดใน Firefox → เปิด Firebug Console
  2. ตั้ง Static Breakpoint ที่บรรทัดที่ต้องการ
  3. รันทีละบรรทัดด้วยปุ่ม Step Over (F10) ปุ่มอื่น: Continue (F8), Step Into (F11), Step Out
  4. สังเกตค่าใน Watch Window
  5. หา Bug และแก้ไข
  6. Reload หน้า (Ctrl+R)
  7. ถ้าตัวแปรหาย ใช้ CommandLine API: debug(fn), undebug(fn)
  8. รันทดสอบอีกครั้ง → บันทึกไฟล์

🔄 ทดแทนด้วย Firefox DevTools (สมัยใหม่)

Firefox DevTools ในปัจจุบันมีความสามารถครบครันและทันสมัยกว่า:

  • เปิดด้วย F12 หรือ Ctrl+Shift+I
  • แท็บ Debugger - Breakpoints, Watch, Call Stack, Scopes
  • แท็บ Console - REPL, Logs, Errors
  • แท็บ Network - ตรวจสอบ Request/Response
  • แท็บ Storage - Cookies, LocalStorage, IndexedDB

หมายเหตุ: บทความนี้เป็นเอกสารทางประวัติศาสตร์ Firebug หยุดพัฒนาตั้งแต่ 2017 โปรดใช้ Firefox DevTools หรือ Chrome DevTools แทนซึ่งมีความสามารถทันสมัยและรองรับมาตรฐานเว็บปัจจุบัน