시작시 플러그인 .so 파일을로드하는 응용 프로그램이 있습니다. dlopen()
크로스 컴파일 된 .so 파일에서 심볼을 검사 할 수있는 도구가 있습니까?
x86 하드웨어에서 빌드 환경이 실행 중이지만 응용 프로그램이 다른 플랫폼에서 상호 컴파일되고 있습니다.
(자동 빌드 프로세스의 일부로) 실제로 .so 파일과 응용 프로그램의 조합에 해결되지 않은 기호가 없는지 확인하는 것이 좋을 것입니다. 응용 프로그램을 배포하십시오.
nm
의 출력을 사용하여 테스트 기호에 스크립트를 작성하기 전에 이미이 작업을 수행하는 유틸리티를 아는 사람이 있는지 궁금합니다.
편집 1 : 약간의 설명을 변경 - 난 그냥 .so를의 심볼을 테스트하려고하지만, 오히려 여러 .so는 년대와 응용 프로그램 자체의 조합 아니에요 - 예. 응용 프로그램이 .so 파일을 모두로드 한 후에도 여전히 확인되지 않은 기호가 있는지 여부를 확인합니다.
nm
은 답변에서 제안한 바와 같이 (누락 된 마틴 대 Lwwis와 tgamblin) 하나의 파일에서 누락 된 기호를 쉽게 식별하지만로드 된 다른 모듈 중 하나에서 해결 된 기호를 쉽게 식별하지 못합니다 .
아마 이것에 재귀 적 ldd를 사용할 수 있습니다. 나는 그 대답을 아래에 추가했다. – tgamblin