มีทฤษฎีหรือหนังสือเกี่ยวกับวิธีแก้จุดบกพร่อง "โดยทั่วไป" หรือไม่? [ปิด]


12

ฉันอ่านและศึกษาวิทยาการคอมพิวเตอร์และวิศวกรรมจำนวนมากและฉันแทบจะไม่เคยเห็นหนังสือเกี่ยวกับการดีบั๊กหรือทฤษฎีว่าจะดีบั๊กอย่างไร (แม้ว่าฉันจะพัฒนาทฤษฎีการดีบักของตัวเอง)

มีการดีบักทฤษฎีและ / หรือหนังสือหรือไม่ ทำไม / ทำไมไม่ ฉันสามารถอ่านวิธีการดีบักโดยใช้ gdb และข้อมูลที่มีประโยชน์ที่สุดเกี่ยวกับการพัฒนาที่ฉันได้รับจากการอ่านวิธีใช้ gdb


1
คุณหมายถึงอะไรโดยการพูดdebugging theory? หัวข้อใดบ้างที่ควรครอบคลุม
superM


ใช่ที่เรียกว่าการแก้ปัญหา: en.wikipedia.org/wiki/Problem_solving
AndreasScheinert

1
@SoboLAN ผมคิดว่าผู้ถามต้องการทฤษฎีที่เกิดขึ้นจริงที่อยู่เบื้องหลังการแก้จุดบกพร่องและ 82/88 ไม่ว่าเก่าแนวคิดหลักที่เหมือนกัน ... แต่ใช่ไม่ใช่สิ่งที่เป็นคำถามที่เกี่ยวกับ
yannis

1
แนวคิดมากมายในวิศวกรรมซอฟต์แวร์ในปัจจุบันค่อนข้างเก่า แต่ก็ยังคงนำไปใช้กับสถานการณ์ในปัจจุบันได้เป็นอย่างดี อย่าลืมล้อได้รับการพัฒนามาหลายล้านปีที่ผ่านมาและยังไม่มีพวกเราที่มีปัญหาในการขับรถวันที่ 2 หรือ 4 ของพวกเขาทุกวันในชีวิตของเราฮ่า ๆ ๆ
user60812

คำตอบ:


6

ฉันอ่านDebug ITจากโปรแกรมเมอร์ในทางปฏิบัติ ในฐานะที่เป็นหนังสือเกือบทั้งหมดจากโปรแกรมเมอร์ในทางปฏิบัติมันค่อนข้างดี แต่ไม่ลึกนัก แต่ก็ดีใจที่ได้ช่วยฉันสอนนักพัฒนาใหม่ถึงวิธีการตั้งค่า "debug mindset" ไม่มีเวทย์มนตร์ดำ แต่มีสามัญสำนึกมากกว่าและเกือบทุกอย่างจะดูเป็นธรรมชาติสำหรับโปรแกรมเมอร์ผู้มีประสบการณ์


6

นอกจากนี้การแก้จุดบกพร่อง: 9 กฎที่จำเป็นสำหรับการหาแม้ซอฟต์แวร์ส่วนใหญ่เข้าใจยากและปัญหาฮาร์ดแวร์ ฉันจำไม่ได้ว่ามันลึกมากหรือในเชิงวิชาการ แต่มันมีข้อมูลเชิงลึกและเรื่องราวที่น่าสนใจ

นอกจากนี้ยังเป็นประโยชน์มากที่จะเห็นการแก้จุดบกพร่องจากมุมมองของฮาร์ดแวร์ - โดยทั่วไปฮาร์ดแวร์การแก้จุดบกพร่องเป็นมากขึ้นยากกว่าการแก้จุดบกพร่องซอฟแวร์ แต่ละบทของหนังสือเล่มนี้มีแรงบันดาลใจจาก "สงครามเรื่อง" จากประสบการณ์ของผู้เขียน; บทที่เหลือใช้เทคนิคที่เขาคิดว่ามีประโยชน์ในกรณีนั้น ๆ เรื่องราวเป็นการผสมผสานที่ดีของการพัฒนาฮาร์ดแวร์และซอฟต์แวร์

แน่นอนฉันพบวิธีการเริ่มต้นแต่ละบทด้วยเรื่องราวในชีวิตจริงให้คำแนะนำอย่างมาก


1
+1 ฉันมีสำเนาของหนังสือเล่มนั้นและฉันต้องบอกว่ามันเขียนได้ดีมาก เป็นเรื่องธรรมดาที่คุณจะสามารถแก้ไขข้อบกพร่องโดยใช้กฎที่ผู้เขียนแนะนำ: ความผิดพลาดของซอฟต์แวร์, ปัญหาฮาร์ดแวร์, ปัญหาเกี่ยวกับห้องน้ำ, ทุกอย่าง :)
Jason Evans

1
นี่เป็นหนังสือที่ยอดเยี่ยม หนึ่งในข้อมูลเชิงลึกที่ดีที่สุดที่ฉันได้รับจากมันคือความคิดที่ไม่เพียง แต่แก้ไขปัญหา แต่จากนั้นนำการแก้ไขกลับไปเพื่อยืนยันว่าปัญหายังคงเกิดขึ้นหากไม่มี หลังจากที่คุณลองทำสิบสิ่งเพื่อแก้ไขปัญหาในตอนท้ายถ้าคุณไม่ทำตามขั้นตอนนี้คุณอาจไม่ทราบว่าตัวแก้ไขตัวใดเป็นของจริง
Kyralessa

1

Saff บีบเป็นเทคนิคที่อธิบายโดยเคนท์เบ็คซึ่งใช้การทดสอบและ refactoring สำหรับการดีบัก:

Hit 'em High, Hit' em Low :

การทดสอบการถดถอยและ Saff Squeeze

Kent Beck สถาบันทรีริเวอร์ส

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.