ความผิดพลาดทางตรรกะ
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
ในวิทยาการคอมพิวเตอร์ ความผิดพลาดทางตรรกะ (อังกฤษ: logic error หรือ semantic error) เป็นบั๊กในโปรแกรมที่ทำให้โปรแกรมทำงานผิดพลาด ส่งผลให้ได้ผลลัพธ์ที่ผิดพลาด หรือผลลัพธ์อาจจะถูกต้องแต่มีการใช้ทรัพยากรเกินความจำเป็น[ต้องการอ้างอิง] หรืออาจเกิดเหตุการณ์ที่เลวร้ายกว่า เช่นโปรแกรมเกิดข้อผิดพลาดจนแครชและจบการทำงานลงทันที
ความผิดพลาดทางตรรกะสามารถเกิดขึ้นได้ทั้งภาษาเชิงคอมไพล์และภาษาเชิงแปลคำสั่ง สิ่งที่แตกต่างระหว่างความผิดพลาดทางตรรกะกับความผิดพลาดทางวากยสัมพันธ์คือโปรแกรมที่มีความผิดพลาดทางตรรกะยังถือว่าเป็นโปรแกรมที่สมบูรณ์ เนื่องจากโปรแกรมนี้ถูกต้องในเชิงวากยสัมพันธ์หมด จึงสามารถทำงานได้ (แต่ผิดพลาด) ในขณะที่หากเกิดความผิดพลาดทางวากยสัมพันธ์ ถ้าเป็นภาษาเชิงคอมไพล์ก็จะไม่สามารถเป็นโปรแกรมได้เลยเนื่องจากเกิดความผิดพลาดจากการคอมไพล์ หรือหากเป็นภาษาเชิงแปลคำสั่งก็จะพบว่าโปรแกรมจะหยุดการทำงานจากการพบข้อผิดพลาดระหว่างการทำงานอย่างแน่นอน ซึ่งทำให้ไม่ได้รับการพิจารณาเป็นโปรแกรมได้
สิ่งเดียวที่บ่งชี้ถึงความผิดพลาดทางตรรกะก็คือโปรแกรมมีข้อผิดพลาด ได้แก่ โปรแกรมให้ผลลัพธ์ผิด ใช้เวลาหรือหน่วยความจำมากกว่าที่คาดไว้ และโปรแกรมหยุดการทำงานจากการเกิดข้อผิดพลาด
สาเหตุโดยทั่วไป
[แก้]สาเหตุโดยทั่วไปเกิดจากการที่ใช้คำสั่งผิดพลาด หรือเข้าใจขั้นตอนวิธีผิด หรือกระทั่งการเลือกขั้นตอนวิธีที่ผิดพลาด
การดีบั๊ก
[แก้]ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |
ตัวอย่าง
[แก้]ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |