ฉันไม่สามารถค้นหาหรือเปิดไฟล์ PDB ใน C ++
ใน Visual C ++ และภาษา Microsoft อื่น ๆ ไฟล์ฐานข้อมูลโปรแกรมที่เก็บไว้ใน. pdb ส่วนขยายจะเก็บข้อมูลที่ใช้โดยตัวเชื่อมโยงและดีบักเกอร์ ขึ้นอยู่กับตัวเลือกคอมไพเลอร์และลิงเกอร์อาจมีไฟล์. pdb หลายไฟล์แต่ละไฟล์ใช้ในช่วงเวลาที่ต่างกันระหว่างกระบวนการสร้างและดีบักกระบวนการของโครงการของคุณ หากไฟล์เหล่านี้หายไปอย่างลึกลับมีหลายวิธีในการสร้างใหม่
พื้นหลัง
ภาษา Visual Studio ของ Microsoft สร้างไฟล์. pdb ซึ่งเป็นส่วนหนึ่งของกระบวนการคอมไพล์และลิงค์ ไฟล์เหล่านี้มีตัวชี้ไปยังการอ้างอิงและสัญลักษณ์ช่วยให้ตัวเชื่อมโยงและดีบักเกอร์ค้นหารหัสและตัวแปรในวัตถุและไฟล์ที่ปฏิบัติการได้ ใน Visual C ++ ไฟล์. pdb อย่างน้อยสองไฟล์จะถูกสร้างขึ้นในระหว่างกระบวนการสร้าง ไฟล์ vc100.pdb ใน Visual Studio 2010 ได้รับการสร้างขึ้นระหว่างขั้นตอนการคอมไพล์และมีพอยน์เตอร์ไปยังไฟล์วัตถุต่าง ๆ ไฟล์ที่สอง projectName.pdb (โดยที่ชื่อโปรเจ็กต์เป็นชื่อของโปรเจ็กต์หรือไฟล์เรียกทำงาน) มีพอยน์เตอร์และการอ้างอิงไปยังไฟล์เรียกทำงาน ไฟล์เหล่านี้สามารถพบได้ในโฟลเดอร์“ Debug” ในไดเรกทอรีโครงการ
ทำความสะอาดและสร้างใหม่
วิธีทั่วไปในการสูญเสียไฟล์ pdb เกิดขึ้นเมื่อ“ Project” จากนั้นรายการเมนู“ Clean” จะถูกคลิกใน Visual Studio IDE การดำเนินการใหม่ทั้งหมดจะลบไฟล์ออบเจ็กต์ตัวลิงก์และไฟล์เรียกทำงานทั้งหมดรวมถึงไฟล์ pdb หากต้องการสร้างไฟล์ใหม่เพียงแค่คลิก "โครงการ" และเลือก "สร้างใหม่ทั้งหมด"
ตรวจสอบตัวเลือกโครงการ
หากการล้างข้อมูลและการสร้างใหม่ไม่ทำงานอาจมีตัวเลือกโครงการที่เปลี่ยนไปตามวิธีการหรือโครงการอาจเสียหาย สิ่งที่พบได้บ่อยที่สุดคือเปลี่ยนการกำหนดค่าโครงการจาก Debug เป็น Release หากต้องการเปลี่ยนกลับเป็น Debug ให้คลิก“ Project” เลือก“ เครื่องมือจัดการการกำหนดค่า” และเลือก“ Debug” หากตัวเลือกเครื่องมือจัดการการกำหนดค่าไม่ปรากฏในเมนูบิลด์ให้คลิก“ เครื่องมือ” และเลือก“ ตัวเลือก” เมื่อหน้าตัวเลือกปรากฏขึ้น เลือก“ โครงการและโซลูชัน” จากมุมมองแบบต้นไม้และคลิกกล่องกาเครื่องหมายที่ระบุ“ แสดงตัวเลือกการกำหนดค่าขั้นสูง” ตัวจัดการการกำหนดค่าควรปรากฏในเมนูสร้าง
สร้างโครงการใหม่
หากไฟล์ยังคงไม่ปรากฏอาจเป็นเวลาที่จะสร้างโครงการใหม่ ปิด Visual Studio เปลี่ยนชื่อโฟลเดอร์โครงการและเปิด Visual Studio อีกครั้ง คลิก "ไฟล์" เลือก "โครงการใหม่" และตั้งค่าโครงการ Visual C ++ ใหม่โดยใช้ชื่อและประเภทโครงการเหมือนเดิม สร้างโครงการใหม่ที่ว่างเปล่าเพื่อสร้างโครงสร้างโปรแกรมพื้นฐานและไฟล์และคัดลอก. cpp, .h, .res และไฟล์อื่น ๆ จากโครงการต้นฉบับ อย่าเขียนทับไฟล์ใด ๆ ในโฟลเดอร์โครงการใหม่
กลับไปที่ Visual Studio และคลิก“ Project” เลือก“ เพิ่มไฟล์ที่มีอยู่” และเลือกไฟล์ทั้งหมดที่ถูกคัดลอกลงในโครงการจากโฟลเดอร์เก่า สร้างและทดสอบโปรแกรมเพื่อให้แน่ใจว่ามีการคัดลอกไฟล์ที่จำเป็นทั้งหมด อีกครั้งสลับการกำหนดค่าเป็น "แก้ปัญหา" และเรียกใช้โครงการ ไฟล์. pdb ควรอยู่ในโฟลเดอร์ดีบั๊ก