2013-11-28 3 views
0

바이너리 (실행 파일) 또는 라이브러리를 가져 와서 공유 라이브러리 의존성을 찾고, 정의되지 않은 심볼을 찾거나 나열합니다 (사용하지 않더라도)? 이것을 발견하는 실제적인 방법은?어떻게 바이너리/라이브러리에서 정의되지 않은 기호를 감지 할 수 있습니까?

+0

실행 파일에 링크 해보세요. –

+0

실행 파일은 링크 할 때 잊어 버린 공유 라이브러리에있는 심볼을 참조 할 수 있습니다. – ricab

답변

1

* nix를 사용하고 기호가 제거되지 않은 경우 'nm'을 사용하면 도움이됩니다.

# nm lib-or-binary-name 
U [email protected]@GLIBC_2.2.5 

'U'는 정의되지 않은 것을 의미하고, 어딘가에 만족하면 '@'뒤에 표시됩니다.

+0

위대한 글입니다. 감사합니다. BTW,'-u' 옵션은 이미 정의되지 않은 기호를 제공하고'-C'는 직접 demangles합니다 – ricab

관련 문제