strace สำหรับการเรียกใช้ไลบรารี


14

ฉันรู้จัก strace ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับการดูการโทรของระบบ มีเทียบเท่าที่สามารถติดตามการโทรไปยังห้องสมุดภายนอกหรือไม่

ตัวอย่างเช่นฉันกำลังพยายามแก้ไขข้อผิดพลาดบางอย่างของ SSLeay ด้วยไบนารีของบุคคลที่สามที่ฉันไม่สามารถเข้าถึงรหัสได้ (และใครเป็นผู้พัฒนาที่ไม่ตอบสนอง) ฉันเชื่อว่าฉันถูกจับปัญหา แต่ฉันไม่สามารถทดสอบได้โดยไม่เห็นว่าข้อมูลที่ถูกตรวจสอบลายเซ็นถูกจัดรูปแบบสำหรับการส่งออกไปยัง SSLeay

คำตอบ:


12

ltrace - เครื่องมือติดตามการโทรห้องสมุด

ใช้งานได้กับ Linux และในสถาปัตยกรรมย่อย ๆ เท่านั้น การเรียกไปยัง dlopen () ไลบรารี ed จะไม่ถูกติดตาม ตัวชี้เพิ่มเติมจากหน้าคนและ/etc/ltrace.conf


3
มีวิธีแก้ปัญหาใดบ้างสำหรับ dlopen () ed libraries?
draeath

8

บางครั้งltrace ใช้งานได้ โดยทั่วไปสายนี้ดีบักเช่นGDB คุณสามารถทราบได้ว่าฟังก์ชั่นใดที่ใช้วางจุดติดตามหรือจุดแตกหักโดยดูที่โครงสร้างการโทรใน disassembly ( objdump -d /path/to/executable)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.