พวก library *.lib กับ *.dll ที่ให้ version debug มาด้วยใช้ยังไงครับ

กระทู้คำถาม
เช่น มีให้เลือก 4 ตัว lib_.lib , lib_d.lib และ lib_.dll , lib_d.dll

ผมทราบว่า .lib เอาไว้ link แบบ static .dll เอาไว้ link แบบ dinamic
และ ตัว lib_ เอาไว้ใช้ตอน release และ lib_d เอาไว้ใช้ตอน complie แบบ debug

แต่ว่าตอนใช้ debug นี่ทำยังไงเหรอครับ  พยายาม trace ข้าไปใน function ของ library เลยมันก็ไม่ได้
เกี่ยวกับ source code หรือเปล่า ว่าต้องมีด้วยหรือไม่ libraly บางตัวก็มี source code มาครับแต่ก็ไม่รู้วิธีใช้อยู่ดี
พอดีเรียกใช้แล้วมัน error กลับมาแต่ไม่รู้ว่าเพราะอะไร อยากเข้าไปดูสาเหตุที่ error น่ะครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
C/C++ ใช่มั้ยครับ ปกติที่เค้าให้แยก debug กับ release เพราะเวลาเรา build โปรเจคเราแบบ debug หรือ release มันจะต้อง link กับ C/C++ Runtime คนละตัวกันครับ แล้วโดยทั่วไปในโปรแกรมหนึ่งๆ ทุก dll/lib ควรจะ link ไปที่ C/C++ Runtime ตัวเดียวกันให้หมดครับ ไม่งั้นอาจมีปัญหาตามมา เพราะฉะนั้นแล้วการที่เค้าให้มาทั้งแบบ debug (ที่ compile กับ C/C++ Runtime Debug version) หรือแบบ release (ที่ compile กับ C/C++ Runtime Release version) ก็เพื่อให้เราเลือกใช้ให้ถูกตัวครับ

แต่ถ้าเกิดเค้าให้ source code มาด้วย เพื่อให้เรา trace ไปได้ถึง source code เค้า โดยทั่วไปจะต้องมีไฟล์ .pdb (debug symbol) มาด้วยอีกไฟล์ครับ ไฟล์นี้ใช้คู่กับ source code จะทำให้เรา map กลับไปหาบรรทัดของ source code ได้ตอน debug ครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่