ความผิดพลาดทางตรรกะ

ในวิทยาการคอมพิวเตอร์ ความผิดพลาดทางตรรกะ () เป็นบั๊กในโปรแกรมที่ทำให้โปรแกรมทำงานผิดพลาด ส่งผลให้ได้ผลลัพธ์ที่ผิดพลาด หรือผลลัพธ์อาจจะถูกต้องแต่มีการใช้ทรัพยากรเกินความจำเป็น หรืออาจเกิดเหตุการณ์ที่เลวร้ายกว่า เช่นโปรแกรมเกิดข้อผิดพลาดจนแครชและจบการทำงานลงทันที 

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

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

สาเหตุโดยทั่วไป 
สาเหตุโดยทั่วไปเกิดจากการที่ใช้คำสั่งผิดพลาด หรือเข้าใจขั้นตอนวิธีผิด หรือกระทั่งการเลือกขั้นตอนวิธีที่ผิดพลาด

การดีบั๊ก

ตัวอย่าง

ดูเพิ่ม 
 ความผิดพลาดทางวากยสัมพันธ์

ความผิดพลาดของคอมพิวเตอร์
ทฤษฎีภาษาโปรแกรม