strace는 도서관 호출에 사용됩니다.

strace는 도서관 호출에 사용됩니다.

나는 strace를 알고 있습니다. 시스템 호출을 모니터링하는 데 매우 편리합니다. 외부 라이브러리에 대한 호출을 추적할 수 있는 동등한 기능이 있습니까?

예를 들어, 타사 바이너리를 사용하여 일부 SSLeay 오작동을 디버깅하려고 하는데 해당 타사 바이너리의 코드에 액세스할 수 없습니다(이 작업을 수행하는 개발자는 응답하지 않습니다). 나는 이 문제를 해결했다고 생각하지만 서명 확인을 위한 데이터가 SSLeay로 전송되도록 형식이 어떻게 지정되는지 정확히 알지 못하면 이를 테스트할 수 없습니다.

답변1

ltrace-- 라이브러리 호출 추적기.

Linux 및 소규모 아키텍처에서만 작동합니다. dlopen()ed 라이브러리에 대한 호출은 추적되지 않습니다. 매뉴얼 페이지의 추가 지침 및/etc/ltrace.conf

답변2

때때로일하다. 일반적으로 이를 위해서는 디버거가 필요합니다.광둥개발은행objdump -d /path/to/executable. 디스어셈블리의 호출 구조( )를 보면 어떤 함수에 추적점이나 중단점을 배치해야 하는지 아이디어를 얻을 수 있습니다.

관련 정보