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

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

Susan Sarandon
풀어 주다: 2024-11-15 07:31:02
원래의
972명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿