답변:
대부분의 경우 주요 이점은 디스크 공간을 절약하는 것입니다. 이차적이고 훨씬 더 모호한 이점은 바이너리를 분해하거나 리버스 엔지니어링하기가 더 어렵다는 것입니다. 또한 메모리 풋 프린트를 약간 줄일 수도 있지만, 대부분의 경우 무시할만한 수준입니다.
가장 큰 단점은 문제가 발생하면 디버깅이 훨씬 어려워진다는 것입니다.
CPU가 최신 인 시스템과 메모리 / 디스크 수량을 가진 최신 시스템에서 바이너리를 제거하면 성능에 거의 영향을 미치지 않습니다. 실제로 디버깅, "청결성"및 개인 취향에 관한 것입니다. 일부 사람들은 항상 프로덕션 또는 "배송 된"소프트웨어에 스트립 된 바이너리를 사용하는 것을 선호합니다. 어떤 사람들은 항상 "경우에 따라"포함 된 기호를 남겨두기를 선호합니다.
개인적으로, 나는 기호를 포함하는 것을 선호합니다. 나는 상용 응용 프로그램이 segfaulting (또는 다른 방식으로 충돌하는) 일 년 동안 정말 실망스러운 몇 가지 상황을 겪었으며 바이너리가 제거 되었기 때문에 문제가 어디에 있는지 정확히 알 수 없었습니다. 적어도 몇 가지 경우에, 공급 업체는 다시 충돌 할 때까지 비 스트립 버전을 실행하여 더 유용한 디버깅 정보를 얻을 수있게되었습니다. 처음에 고정되지 않은 버전을 제공했다면 가동 중지 시간을 줄이면서 문제를 더 빨리 해결할 수있었습니다.