ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

Debugging คืออะไร ? มาจากไหน ? มีขั้นตอนยังไงบ้างนะ ? พร้อมรู้จัก Debugger

Debugging คืออะไร ?  มาจากไหน ? มีขั้นตอนยังไงบ้างนะ ? พร้อมรู้จัก Debugger

เมื่อ :
|  ผู้เข้าชม : 28,173
เขียนโดย :
0 Debugging+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F++%E0%B8%A1%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B9%84%E0%B8%AB%E0%B8%99+%3F+%E0%B8%A1%E0%B8%B5%E0%B8%82%E0%B8%B1%E0%B9%89%E0%B8%99%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%A2%E0%B8%B1%E0%B8%87%E0%B9%84%E0%B8%87%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%99%E0%B8%B0+%3F+%E0%B8%9E%E0%B8%A3%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81+Debugger
A- A+
แชร์หน้าเว็บนี้ :

Debugging คืออะไร ? มาจากไหน ? มีขั้นตอนยังไงบ้างนะ ?

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

ข้อมูลเพิ่มเติม : Computer Bug หรือ บัคคอมพิวเตอร์ คืออะไร ? ทำไมแมลงถึงเป็นตัวร้าย ทำลายระบบคอมพิวเตอร์ ?

 

เนื้อหาภายในบทความ

Debugging คืออะไร ? และมาจากไหน ?

ถ้าใครเคยทราบเรื่องราวเกี่ยวกับ Computer Bug มาอยู่ก่อนแล้วก็น่าจะเดาได้ไม่ยากเลยว่า "Debugging" ก็น่าจะหมายถึงการ "ปรับแก้" ระบบที่ติด Bug ให้กลับไปทำงานได้ตามปกติ

ซึ่งเมื่อย้อนกลับไปราวช่วงปี ค.ศ. 1940 (พ.ศ. 2483) ที่มีการค้นพบแมลงเจ้าปัญหาบนแผงวงจรคอมพิวเตอร์ Grace Hopper ที่เป็นผู้ทำการเก็บกู้ซากของแมลงออกไปนั้นได้เรียกขั้นตอนการทำงานของเขาว่าเป็นการ "Debugging" จึงทำให้มันกลายมาเป็นศัพท์ทางคอมพิวเตอร์ที่สื่อถึงการ "แก้ไขข้อผิดพลาดที่เกิดขึ้นในระบบ" นับแต่นั้นมา

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

และเมื่อเติมคำว่า "De" เข้าไปด้านหน้าคำ ก็จะทำให้ความหมายของคำนั้น ๆ "กลับขั้ว" ไปจากเดิม เช่น คำว่า "Defrost" ที่หมายถึงการละลายน้ำแข็ง หรือ "Degenerate" ที่หมายถึงความเสื่อมโทรม ดังนั้นเมื่อเติมคำว่า "De" ไปด้านหน้า "Bug" ก็ทำให้มันสื่อถึง "การแก้ไขข้อผิดพลาดภายในระบบ" นั่นเอง (จริง ๆ แล้วในภายหลังคำว่า "Bug" ก็กลายเป็นศัพท์แสลงที่สื่อถึงความผิดพลาดและมีคนใช้คำว่า Bug Fix อยู่บ้างประปราย แต่มันก็ไม่ได้รับความนิยมเท่าคำว่า Debug อยู่ดี)

ขั้นตอนที่เกี่ยวข้องกับ Debugging

ขั้นตอนการ Debug
ภาพจาก : https://www.edureka.co/blog/what-is-debugging/ 

  1. Identify the Error (ระบุปัญหา) : ระบุปัญหาหรือความผิกปกติที่เกิดขึ้นในขณะนั้น เช่น พิมพ์ Keyword ค้นหาบนเว็บไซต์แล้วไม่มีการแสดงผล หรือรูปภาพไม่ขึ้นตามที่ควรจะเป็น
  2. Fix the Error Location (สำรวจปัญหา) : เมื่อทราบปัญหาที่เกิดขึ้นอย่างชัดเจน จะทำให้สามารถค้นหาสาเหตุของการเกิดปัญหานั้น ๆ ได้ง่ายขึ้น เช่น ภาพแบนเนอร์ไม่แสดงผล ก็ดูตรวจสอบความผิดปกติของโค้ดบริเวณป้ายแบนเนอร์ (Banner) โดยที่ไม่จำเป็นต้องไล่ดูโค้ดทุกบรรทัดของทั้งเว็บไซต์
  3. Analyze the Error (วิเคราะห์ปัญหา) : เมื่อพบโค้ด ในส่วนที่เป็นปัญหาก็จะสามารถตรวจสอบความผิดปกติและวิเคราะห์สิ่งที่ทำให้เกิดปัญหาได้ เช่น ใช้ "ตัวอักษร z" แทนตัว "ตัวอักษร s" ทำให้รันระบบพลาด เป็นต้น
  4. Prove the Analysis (ตรวจสอบการวิเคราะห์ปัญหา) : หลังจากทำการวิเคราะห์ปัญหาที่เกิดขึ้นแล้วให้ลองตรวจสอบหาข้อผิดพลาดอื่น ๆ ที่อาจมองข้ามไปเพื่อป้องกันการเกิดการผิดพลาดซ้ำ
  5. Cover Lateral Damage (รัน Unit Test) : เพื่อทดสอบโค้ดที่จัดการแก้ไขและตรวจสอบซ้ำว่า โค้ดที่จะใช้งานเป็นโค้ดที่มีตัวสะกด, สัญลักษณ์ หรือการเว้นวรรคถูกต้อง
  6. Fix and Validate (แก้ไขปัญหา) : ดำเนินการแก้ไข โค้ดคำสั่งที่ระบุปัญหาไปข้างต้นและทดสอบระบบเพื่อดูผลลัพธ์ หากยัง Error อยู่อาจต้องมองหาจุดผิดพลาดอื่น ๆ เพิ่มเติม

การแก้ปัญหาในซอฟต์แวร์ (Software Debugging)

การแก้ระบบซอฟต์แวร์และเว็บไซต์ต่าง ๆ ให้กลับมาทำงานได้อย่างราบรื่น โดย Programmer หรือ Developer จะเป็นผู้ดำเนินการแก้ไขชุดคำสั่งที่เป็นผลให้ระบบทำงานผิดปกติ แต่การค้นหาแมลงหรือการ Identify Bug ในระบบนั้นอาจมาจากการทดสอบระบบของ ผู้ทดสอบซอฟต์แวร์ (Software Tester) หรือเสียงเรียกร้องของผู้ใช้งานทั่วไปที่พบปัญหาขณะใช้งานก็ได้

ยกตัวอย่างเช่น เมื่อผู้ใช้งาน กด "ปุ่ม Ctrl + Z" แล้วข้อความใน Box หายไปทั้งหมด แทนที่จะกลับค่าแค่ครั้งเดียว (ตัดเฉพาะข้อความที่พิมพ์ล่าสุด) Developer ก็จะต้องทำการค้นหา โค้ดคำสั่งที่ทำให้การทำงานของระบบผิดปกติไปและดำเนินการปรับแก้ให้กลับมาปกติอีกครั้งหนึ่ง

การแก้ปัญหาในโปรแกรม (Software Debugging)
ภาพจาก : https://code.visualstudio.com/docs/editor/debugging

การแก้ปัญหาในอุปกรณ์ฮาร์ดแวร์ (Hardware Debugging)

ในขณะที่ Software Debugging เป็นการค้นหาและแก้ไขชุดคำสั่ง โค้ดที่ส่งผลให้ระบบทำงานผิดปกติ Hardware Debugging ก็เป็นการระบุและดำเนินการแก้ไขข้อผิดพลาดที่เกิดจากการ "เชื่อมต่อ" กันของอุปกรณ์ฮาร์ดแวร์ผ่าน JTAG (Joint Test Action Group) เช่น ปัญหาการเสียบสาย HDMI แล้วจอไม่แสดงผล, Bridge เชื่อมต่อภายในแผงวงจรทำงานผิดปกติ เป็นต้น

Debugger คืออะไร ?

สำหรับคำว่า "Debugger" นั้นมีอยู่ด้วยกัน 2 ความหมาย ได้แก่ บุคคลที่ทำหน้าที่แก้ไข Bug ภายในระบบ และอุปกรณ์ที่ใช้ในการ Debugging (Debugger Tools) ที่ช่วยทุ่นแรงของ Developer ในการระบุปัญหาและดำเนินการแก้ไขข้อผิดพลาดในระบบ (Bug) ที่พบได้บ่อย ๆ ช่วยประหยัดเวลาการทำงานของผู้พัฒนา (Developer) ในการนั่งไล่อ่านโค้ดทีละบรรทัดเพื่อปรับแก้

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

Facebook Sharing Debugger

เครื่องมือช่วยระบุและแก้ไข Bug ที่เกิดจากการแชร์ลิงก์ในระบบของ Facebook โดยเมื่อพบลิงก์ผิดปกติก็สามารถนำเอา URL ดังกล่าวไปใส่ใน Sharing Debugger แล้วกด "ปุ่ม Debug" ได้เลย

Facebook Sharing Debugger
ภาพจาก : https://swimburger.net/blog/web/verify-what-your-webpage-looks-like-in-google-facebook-twitter-linkedin-and-more

เว็บไซต์ Facebook Sharing Debugger ของ Facebook

Twitter Card Validator

ตัวช่วยในการแก้ Bug ของ Preview Card (รูปภาพตัวอย่างของเว็บไซต์) บน Twitter โดยเราสามารถวาง URL ที่มีการแสดงผลผิดปกติจากนั้นเลือก "ปุ่ม Preview Card" เพื่อให้ระบบดำเนินการแก้ไข Bug ได้

Twitter Card Validator
ภาพจาก : https://swimburger.net/blog/web/verify-what-your-webpage-looks-like-in-google-facebook-twitter-linkedin-and-more

เว็บไซต์ Twitter Card Validator ของ Twitter

Post Inspector (LinkedIn)

สำหรับโพสต์บน LinkedIn เองก็มีตัวช่วยอย่าง Post Inspector ที่เมื่อแนบ URL ของลิงก์เจ้าปัญหาและกดไปที่ "ปุ่ม Inspect" ให้ระบบดำเนินการตรวจสอบและจัดการแก้ไข Bug ของลิงก์นั้น ๆ 

Post Inspector (LinkedIn)
ภาพจาก : https://swimburger.net/blog/web/verify-what-your-webpage-looks-like-in-google-facebook-twitter-linkedin-and-more

เว็บไซต์ Post Inspector ของ Linkedin


ที่มา : www.techtarget.com , www.computerworld.com , gonocode.net , en.wikipedia.org , www.bbc.co.uk , high-tech-guide.com , www.sciencedirect.com , revdebug.com , www.edureka.co , www.javatpoint.com

0 Debugging+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F++%E0%B8%A1%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B9%84%E0%B8%AB%E0%B8%99+%3F+%E0%B8%A1%E0%B8%B5%E0%B8%82%E0%B8%B1%E0%B9%89%E0%B8%99%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%A2%E0%B8%B1%E0%B8%87%E0%B9%84%E0%B8%87%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%99%E0%B8%B0+%3F+%E0%B8%9E%E0%B8%A3%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81+Debugger
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
สมาชิก : Member    สมาชิก
ตัวเม่นผู้รักในการนอน หลงใหลในการกิน และมีความใฝ่ฝันจะเป็นนักดูคอนเสิร์ตแต่เหมือนศิลปินที่ชื่นชอบจะไม่รับรู้ว่าโลกนี้มียังประเทศไทยอยู่..
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

แสดงความคิดเห็น