2
วิธีการทำให้ linux 'perf record' ทำงานสำหรับสัญลักษณ์ libc และ libstdc ++?
ฉันใช้perf record -gx86-64 Linux เพื่อทำโปรไฟล์โปรแกรม สัญลักษณ์หลายอย่างใน libc หรือ libstdc ++ มี0เป็นพาเรนต์: __GI___strcmp_ssse3(libc) และstrcmp@plt(libstdc ++) เช่น (จริง ๆ แล้วฉันสามารถทำลายสัญลักษณ์เหล่านี้ในดีบักเกอร์และรับ backtrace) ฉันชอบที่จะรู้ว่าผู้โทรหลักของฟังก์ชั่นเหล่านี้คืออะไรและทำไมจึงไม่ถูกบันทึก เป็นเพราะ libc และ libstdc ++ ไม่มีตัวชี้เฟรมบน x86_64 หรือไม่? และในทางปฏิบัติมากกว่านี้มีวิธีแก้ไขไหม?