โปรแกรมดีบักเกอร์คืออะไร
ในระหว่างการเดินทางของคุณในฐานะนักพัฒนา มี ช่วงเวลาที่ เสมอเมื่อคุณถามตัวเอง:
เหตุใดรหัสของฉันจึงไม่ทํางาน
การถามคําถามนี้เป็นส่วนปกติของวันนักพัฒนาใด ๆ เคล็ดลับคือการทําให้รู้สึกคุ้นเคยกับการค้นหาและแก้ไขข้อบกพร่องของคุณโดยใช้เวลาและความผิดหวังน้อยที่สุด เมื่อมีข้อบกพร่องในโปรแกรมของคุณ คุณจัดการกับมันในหนึ่งในวิธีเหล่านี้หรือไม่?
- เรียกใช้โปรแกรมอีกครั้งเนื่องจาก ควร ทํางาน
- อธิบายเรื่องของคุณกับเป็ดยาง
- อ่านรหัสของคุณอีกครั้งเพื่อค้นหาปัญหา
- เดินออกไปข้างนอก
- สแปมข้อความ
Console.WriteLine("here")สองสามข้อความในรหัสของคุณ
คุณอาจประสบความสําเร็จหลายระดับด้วยวิธีการเหล่านี้ แต่วิธีหนึ่งจะถือว่าประสบความสําเร็จมากที่สุด การใช้ตัวดีบัก แต่ตัวดีบักเกอร์คืออะไรกันแน่?
ดีบักเกอร์เป็นเครื่องมือซอฟต์แวร์ที่คุณสามารถใช้เพื่อสังเกตและควบคุมโฟลว์การดําเนินการของโปรแกรมของคุณด้วยวิธีการวิเคราะห์ เป้าหมายการออกแบบคือการช่วยให้คุณค้นหาสาเหตุที่แท้จริงของบั๊กและช่วยให้คุณแก้ไขได้ มันทํางานโดยโฮสต์โปรแกรมของคุณในกระบวนการดําเนินการของตัวเอง หรือ โดยการเรียกใช้เป็นกระบวนการแยกต่างหากที่แนบมากับโปรแกรมของคุณ เช่น .NET
ดีบักเกอร์มาในรสชาติที่แตกต่างกัน บางงานทํางานโดยตรงจากบรรทัดคําสั่งในขณะที่ผู้อื่นมาพร้อมกับส่วนต่อประสานผู้ใช้แบบกราฟิก ในโมดูลนี้ เราใช้ตัวแก้ไขจุดบกพร่องกราฟิกแบบรวมของ Visual Studio
เหตุใดจึงใช้ตัวดีบัก
ถ้าคุณไม่ได้เรียกใช้โค้ดของคุณผ่านตัวแก้ไขจุดบกพร่อง นั่นหมายความว่า คุณอาจ คาดเดา ว่ามีอะไรเกิดขึ้นในโปรแกรมของคุณ ประโยชน์หลักของการใช้ตัวดีบักเกอร์คือ คุณสามารถ ดู โปรแกรมของคุณทํางานได้ คุณสามารถปฏิบัติตามการดําเนินการโปรแกรมของคุณบรรทัดหนึ่งของรหัสในแต่ละครั้ง ด้วยวิธีนี้ คุณจะหลีกเลี่ยงโอกาสที่จะคาดเดาผิด
ตัวแก้ไขจุดบกพร่องทุกตัวมีชุดคุณลักษณะของตัวเอง สองสิ่งที่สําคัญที่สุดที่มาพร้อมกับเกือบทั้งหมดคือ:
- การควบคุมการดําเนินการโปรแกรมของคุณ คุณสามารถหยุดโปรแกรมของคุณชั่วคราวและเรียกใช้ทีละขั้นตอนซึ่งช่วยให้คุณสามารถดูว่ารหัสใดทํางานและส่งผลต่อสถานะของโปรแกรมของคุณอย่างไร
- สังเกตสถานะของโปรแกรมของคุณ ตัวอย่างเช่น คุณสามารถดูค่าของตัวแปรและพารามิเตอร์ฟังก์ชันของคุณได้ทุกที่ระหว่างการดําเนินการโค้ดของคุณ
การใช้ตัวดีบักอย่างมีประสิทธิภาพเป็นทักษะที่สําคัญ แต่มองข้ามไปสําหรับนักพัฒนา ซึ่งจะทําให้คุณมีประสิทธิภาพมากขึ้นในการล่าข้อบกพร่องในโค้ดของคุณ และสามารถช่วยให้คุณเข้าใจได้อย่างรวดเร็วว่าโปรแกรมทํางานอย่างไร
ลองมาค้นพบว่าในหน่วยถัดไป