ฉันทำสิ่งต่อไปนี้:
- อิมพอร์ตโปรเจ็กต์ Makefile ไปยัง Eclipse CDT
- คอมไพล์โปรแกรมจากบรรทัดคำสั่งโดยใช้ตัวเลือก -ggdb ของ g++
- รันโปรแกรมจากบรรทัดคำสั่ง
- ตั้งค่าเบรกพอยต์ใน Eclipse CDT
- แนบดีบักเกอร์ Eclipse CDT (gdb) เข้ากับกระบวนการลูกที่โปรแกรมของฉันสร้าง (กระบวนการลูกรันโปรแกรมจากโปรเจ็กต์เดียวกัน)
ณ จุดนี้ฉันได้รับข้อความแสดงข้อผิดพลาดในคอนโซล
ไม่มีไฟล์ต้นฉบับชื่อ /home/oswald/Eclipse/CDT/Workspace/Project/path/to/header.h
เมื่อฉันดำเนินโปรแกรมต่อ เบรกพอยท์ของฉันทั้งหมดจะถูกข้ามไป ฉันจะทำให้เบรกพอยท์ของฉันทำงานได้อย่างไร?
หมายเหตุเพิ่มเติมบางประการ:
- ไม่มีไลบรารีที่ใช้ร่วมกันที่เกี่ยวข้อง
- คราสอินดิโก, gdb 7.4, Ubuntu 12.04
- การใช้บรรทัดคำสั่งเพื่อแนบ gdb กับกระบวนการ ฉันสามารถตั้งค่าเบรกพอยต์เป็น
header.h:257
(header.h
อยู่ในโฟลเดอร์/home/oswald/Eclipse/CDT/Workspace/Project/path/to/
) gdb จะให้เกียรติเบรกพอยต์นี้ - เมื่อใช้บรรทัดคำสั่งเพื่อแนบ gdb กับกระบวนการ ฉัน ไม่สามารถ ตั้งค่าเบรกพอยต์เป็น
/home/oswald/Eclipse/CDT/Workspace/Project/path/to/header.h:257
ฉันได้รับข้อความเดียวกันจาก gdb เช่นเดียวกับเมื่อใช้ Eclipse CDT - Eclipse CDT ใช้ GDB (DSF) Attach to Process Launcher การสลับไปใช้ Standard Attach to Process Launcher ทำให้เกิดข้อความแสดงข้อผิดพลาดว่าระบบไม่สามารถแสดงรายการกระบวนการที่กำลังทำงานอยู่ได้
- เส้นทางการค้นหาแหล่งที่มาในการกำหนดค่าการดีบักถูกตั้งค่าเป็นค่าเริ่มต้น (เส้นทางไฟล์สัมบูรณ์, เส้นทางไฟล์ Realtive ของโปรแกรม, โครงการ) ฉันทดลองใช้การตั้งค่าอื่นๆ มากมาย แต่ก็ไม่ได้ผลเลย