0
실행 파일 a.out
이 공유 라이브러리 1.so
, 2.so
및 3.so
을로드합니다. 각 라이브러리에는 func()
함수가 구현되어 있습니다. func()
가 호출 될 때, 나는 func()
의 구현이 실행되는, 식별합니다.실행 파일이 현재 실행중인 공유 라이브러리를 식별하는 방법
실행 파일의 PID에 ltrace
을 시도했습니다. func()
호출 만 나열하지만 공유 라이브러리는 나열하지 않습니다.
제안 사항?
두 개의 유사한 질문 (중복 정확하지만, IMHO) : HTTP ://stackoverflow.com/questions/6538501/linking-two-shared-libraries-with-some-of-the-same-symbols http://stackoverflow.com/questions/29079742/same-symbols- in-different-libraries-and-linking-order – DyZ
함수의 주소를 아는 경우, 프로세스 메모리 맵 ('/ proc//maps')에서 찾을 수 있습니다. –
나는 "아니 중복"동의하지만, 당신이 라이브러리는 링커에 전달 된 순서를 알고있는 경우, 질문은 매우 강력하게 '될 첫 번째에서 func' 것을 의미한다. –