ホームページ > バックエンド開発 > Golang > コンパイルされた Go コードからデバッグ情報を削除するにはどうすればよいですか?

コンパイルされた Go コードからデバッグ情報を削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-15 07:31:02
オリジナル
940 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート