C#:
การใช้งานตัวดีบั๊ก

วิธีการ:

จินตนาการว่าคุณมีโปรแกรมขนาดเล็กที่ทำงานไม่ถูกต้อง:

static void Main()
{
    int result = Sum(1, 2);
    Console.WriteLine(result);
}

static int Sum(int a, int b)
{
    return a + a; // อ๊ะ, ควรจะเป็น a + b
}

ในการใช้งาน debugger ของ Visual Studio, ตั้งจุดหยุดโดยการคลิกที่ขอบซ้ายข้างๆ return a + a; เมื่อคุณรันโปรแกรม (ด้วย F5), การดำเนินการจะหยุดอยู่ที่นั่น เลื่อนเมาส์ไปที่ตัวแปรเพื่อตรวจสอบค่า หรือใช้ Immediate Window เพื่อประเมินนิพจน์ คุณจะเห็นว่า a เป็น 1 และ b เป็น 2, แต่ a + a ไม่ใช่ผลรวมที่เราคาดหวัง เปลี่ยนเป็น a + b, ดำเนินการต่อรัน (F5), และวอลา, คอนโซลจะแสดงออกมาเป็น 3

ลงลึก

ประวัติศาสตร์ของการตรวจสอบบั๊กมีมายาวนานถึงยุค 1940 เมื่อบั๊กจริง (แมลงสาบ) ถูกพบในคอมพิวเตอร์รุ่นเริ่มต้น debugger ในปัจจุบัน, เช่น ตัวหนึ่งใน Visual Studio, มีฟีเจอร์ทรงพลังหลากหลาย, รวมถึงจุดหยุด, การดำเนินการทีละขั้นตอน, หน้าต่างการดูค่าและอื่นๆ

ตัวเลือกที่แทน debugger ของ Visual Studio ได้แก่ตัวเลือกแหล่งเปิดที่รวมถึง GDB สำหรับภาษาแนว C หรือ pdb สำหรับ Python, และ IDE ข้ามแพลตฟอร์มเช่น JetBrains Rider หรือ VS Code ซึ่งเสนอเครื่องมือการดีบักสำหรับ C# และภาษาอื่นๆ

เมื่อคุณลงลึกไปยังการทำงานของ debugger, คุณกำลังมองหาโปรแกรมที่แนบกับกระบวนการของแอปพลิเคชันของคุณ มันตีความรหัสเครื่อง, จัดการสถานะหน่วยความจำ, และควบคุมการดำเนินการของการไหล นี่คือเรื่องค่อนข้างใหญ่ที่สำคัญสำหรับการดีบักที่มีประสิทธิภาพ, ซึ่งเป็นเหตุผลที่โหมดดีบักมักจะทำงานช้ากว่าโหมดปล่อยที่ฮุกเหล่านี้ไม่มีอยู่

ดูเพิ่มเติม