2014-08-28 11 views
1

내가 아는 한 objcopy은 실행 가능 바이너리 외부에서 디버그 심볼 (-g 플래그로 컴파일 됨)을 이동할 수 있습니다. 이 question을 발견했지만 심볼 아웃소싱을위한 일반적인 방법 만 있습니다..so 및 .a 파일에서 gcc 디버그 기호를 외부로 이동하는 방법은 무엇입니까?

그러나 실행 파일이 매우 큰 .so 및 .a 파일을 사용하고있을 때 어떻게해야합니까?

디버그 기호가있는 작은 환경에서 내 응용 프로그램의 프로필을 작성하고 싶습니다. 전체 프로젝트는 -g 옵션으로 빌드되었습니다. 디버그 기호는 나중에 프로필 로그가 처리 될 때만 필요합니다.

답변

1

당신은 strip 디버그 기호를 할 수 있습니다

strip --strip-debug object.so 
+0

나는 그것을 시도 :'스트립 : 당신은 임베디드 시스템 용으로 컴파일 할 경우 –

+1

file' 입력의 형식을 인식 할 수 없습니다, 당신은 대상 버전을 실행해야 스트립이 아닌 호스트 스트립. – erenon

+0

현명한 조언, 감사합니다! (또한 .a 파일에서도 작동합니다.) –