4
เคอร์เนลสแต็กติดตามไปยังบรรทัดซอร์สโค้ด
ด้วยการติดตามเคอร์เนลสแต็กดังต่อไปนี้คุณจะกำหนดบรรทัดของรหัสเฉพาะที่เกิดปัญหาได้อย่างไร kernel: [<ffffffff80009a14>] __link_path_walk+0x173/0xfb9 kernel: [<ffffffff8002cbec>] mntput_no_expire+0x19/0x89 kernel: [<ffffffff8000eb94>] link_path_walk+0xa6/0xb2 kernel: [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b kernel: [<ffffffff800238de>] __path_lookup_intent_open+0x56/0x97 kernel: [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14 kernel: [<ffffffff8001b222>] open_namei+0xea/0x712 kernel: [<ffffffff8006723e>] do_page_fault+0x4fe/0x874 kernel: [<ffffffff80027660>] do_filp_open+0x1c/0x38 kernel: [<ffffffff8001a061>] do_sys_open+0x44/0xbe kernel: [<ffffffff8005d28d>] tracesys+0xd5/0xe0 ในขณะที่ฉันไม่มีปัญหาในการค้นหาการเรียกใช้ฟังก์ชั่น - แต่การแปล__link_path_walkบวกการชดเชยให้กับหมายเลขบรรทัดจริงเป็นส่วนที่ยาก สมมติว่านี่เป็นเคอร์เนลที่มีการกระจายแบบมาตรฐานซึ่งฉันรู้รุ่นและหมายเลขบิลด์ที่แน่นอนกระบวนการในการดึงข้อมูลเมตาที่จำเป็นและการค้นหาที่สอดคล้องกันคืออะไร