วันนี้มีเทคนิคเล็กน้อยมาแนะนำกันครับ เนื่องมาจากช่วงที่ได้ช่วยงานพี่ nantcom ร่วมกับน้อง varavut เพื่อทำโปรแกรม Where2GO beta 2 ออกมานั้น ได้ติดปัญหาหลายๆอย่างระหว่างการพัฒนา เนื่องด้วยความใหม่ของเทคโนโลยี ทำให้การหาข้อมูลหลายๆอย่างเป็นไปได้อย่างจำกัด ซึ่งหนึ่งในปัญหาเหล่านี้ก็คือการ Debug โปรแกรมทีมี Error Message แปลกๆ นี่เอง

เจ้า Error บางครั้งที่เราก็ไม่เข้าใจว่าเป็นเพราะอะไร พยายามอ่าน Error Message ก็แล้ว copy Error Message ไป search ก็แล้ว ก็ยังไม่พบคนที่จะอธิบายให้เราเข้าใจอย่างแท้จริงได้
เมื่อเจอเหตุการเช่นนี้แล้ว เราจะทำอย่างไรดี ?
หนทางหนึ่งที่ได้นำมาใช้ในระหว่างการพัฒนา Where2GO ที่ผ่านมา ก็คือการหาคำตอบด้วย Error Code ครับ
Error Code กับคอมพิวเตอร์นั้นมีมานานตั้งแต่แรกเริ่มเดิมทีเลยก็ว่าได้ ซึ่งเราอาจจะได้เห็นเวลาคอมพิวเตอร์เราเกิดปัญหา จอดับ บลูสกรีน ก็จะมี Error Code แสดงออกมาเพื่อระบุว่าปัญหาที่เกิดขึ้นกับคอมพิวเตอร์ของเราคืออะไร
แล้วมันเกี่ยวอะไรกับการ Debug โปรแกรม ?
ก็เพราะว่า ท่านทราบหรือไม่ว่า Error Code เหล่านี้ ใน Visual Studio ก็มีการแสดงผลเช่นเดียวกันเพื่อใช้ระบุว่า Bug ของเราเกิดจากสาเหตุใด แต่คิดว่าหลายๆคน คงจะไม่ได้สังเกตุ หรือใช้งาน Error Code เหล่านี้ เพราะ Visual Studio นั้นมีการแสดงผล Error Message อยู่แล้ว บวกกับการนำ Error Message ไป Search ก็จะพบคนที่ติดปัญหาแบบเดียวกัน และก็ได้อธิบายวิธีแก้ให้เราเรียบร้อย ซึ่งนั่นก็เป็นปกติทั่วไปครับ
แต่ถ้าเราเกิดกำลังพัฒนาด้วยเทคโนโลยีใหม่ หรืออะไรที่ชาวบ้านเขายังไม่ได้ทำกันแล้วล่ะก็ Error หลายๆ ตัว Search คงจะไม่เจอกันง่ายๆ อย่างแน่นอน ซึ่งถ้าแย่หน่อย (อย่างกรณีการพัฒนา Windows Phone ซึ่งถือว่าใหม่ทีเดียว) อาจจะถึงกับตันก็เป็นได้
Error Code ของ Visual Studio จะถูกแสดงผลออกทาง Output เป็น Code ที่มีรหัสแสดงชนิดของภาษาที่ใช้เขียน และหมายเลขประจำ Error นั้นๆ ยกตัวอย่างเช่น
Error Code นี้จะประกอบด้วย CS เพื่อบอกภาษาที่ใช้เขียนและรหัส Error คือ 1661 ครับ ซึ่งเป็น Code ที่เกิดจาก Code นี้
โดยเมื่อเรานำเอา Error Code ที่ได้ด้านบนคือ CS1661 ไปทำการ Search ที่ MSDN ก็จะพบคำอธิบายโดยละเอียดเกี่ยวกับ Error นี้ ดังนี้
เนื่องด้วยเหตุที่ MSDN ส่วนนี้จะทำการอธิบายด้วยข้อมูลที่เป็นกลาง ไม่อิงกับโปรแกรมที่เราเขียนขึ้นมา พร้อมด้วยมี Sample Code ง่ายๆ พร้อมกับ Comment บอกจุดที่โค้ดจะ Error ให้เห็นอย่างชัดเจน เพื่อบอกต้นเหตุที่แท้จริงของ Error ของเรา จึงสามารถช่วยให้เราเข้าใจ Error บางตัวที่มี Error Message ที่ยากจะเข้าใจได้อย่างง่ายดายครับ