>백엔드 개발 >Golang >컴파일된 Go 코드에서 디버깅 정보를 제거하는 방법은 무엇입니까?

컴파일된 Go 코드에서 디버깅 정보를 제거하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-15 07:31:02974검색

How to Strip Debugging Information from Compiled Go Code?

Go 컴파일 코드에서 디버깅 정보 제거

디버깅 정보는 기본적으로 gc를 사용하여 컴파일된 Go 코드에 자주 포함됩니다. 디버깅 목적에 도움이 될 수 있지만 실행 파일의 크기가 늘어나고 디컴파일에 취약해집니다.

디버깅 정보 제거

진행 중에 디버깅 정보를 제거하려면 gc로 컴파일하려면 "-s" 및 "-w" 옵션과 함께 "-ldflags" 플래그를 지정하십시오. 다음 명령은 이를 보여줍니다.

go build -ldflags="-s -w"

"-s" 옵션은 기호 테이블을 제거하는 반면 "-w" 옵션은 DWARF 디버그 정보를 억제합니다. 이렇게 하면 컴파일된 실행 파일에서 모든 디버깅 정보가 효과적으로 제거됩니다.

gccgo에 대한 참고 사항

gccgo를 사용해도 이 문제가 해결되지 않습니다. "-g" 플래그 없이 컴파일하면 누락된 디버그 정보와 관련된 오류를 출력하는 손상된 실행 파일이 생성됩니다.

Go 1.13의 추가 옵션

도입 Go 1.13에서는 "-trimpath" 플래그를 사용하여 실행 파일에 저장된 파일 경로의 길이를 줄일 수 있습니다. 이렇게 하면 컴파일된 코드의 크기가 더욱 최소화됩니다.

위 내용은 컴파일된 Go 코드에서 디버깅 정보를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.