Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

จะดีบักคอร์ใน C/C++ ได้อย่างไร


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

แกนนี้สามารถนำมาใช้เพื่อวินิจฉัยและแก้ปัญหาโปรแกรมของเราได้ดังต่อไปนี้ -

แกนหลักถูกดัมพ์ไปยังไดเร็กทอรี /proc/sys/kernel ตามค่าเริ่มต้น ในการดีบักคอร์ โปรแกรมจะต้องคอมไพล์ด้วยอ็อพชัน -g เมื่อคุณมีคอร์รันแล้ว gdb -

$ gdb  nameOfExecutable core

การดำเนินการนี้จะเปิดคอร์ใน gdb และตอนนี้คุณสามารถดำเนินการแก้ไขข้อบกพร่องต่อได้ หากคุณไม่ทราบวิธีใช้ gdb คุณสามารถใช้ลิงก์นี้เพื่อเรียนรู้เพิ่มเติม:https://www.ibm.com/developerworks/library/l-gdb/