Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengumpul Kod Go Tanpa Maklumat Penyahpepijatan?

Bagaimana untuk Mengumpul Kod Go Tanpa Maklumat Penyahpepijatan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 10:07:02886semak imbas

How to Compile Go Code Without Debugging Information?

Menyusun Kod Go Tanpa Maklumat Nyahpepijat

Dalam Go, maklumat nyahpepijat disertakan secara lalai semasa penyusunan, yang boleh memudahkan untuk menyahpepijat kod . Walau bagaimanapun, maklumat ini juga boleh diekstrak untuk menyahkompilasi kod. Untuk mengelakkan ini, kita perlu mengecualikan maklumat penyahpepijatan semasa menyusun.

Menggunakan -ldflags

Bendera -ldflags boleh digunakan untuk menghantar pilihan kepada pemaut. Untuk mengalih keluar jadual simbol dan maklumat penyahpepijatan, tambah -s -w pada pilihan -ldflags. Berikut ialah contoh:

go build -ldflags="-s -w" main.go

Petua Tambahan untuk Go 1.13

Dalam Go 1.13 dan lebih baru, bendera -trimpath boleh digunakan untuk mengurangkan panjang laluan fail disimpan dalam boleh laku. Ini boleh meminimumkan lagi saiz binari yang dijana.

Nota tentang gccgo

Adalah penting untuk ambil perhatian bahawa menggunakan gccgo, pengkompil Go berdasarkan GCC, tidak menyelesaikan masalahnya. Jika anda menyusun tanpa bendera -g menggunakan gccgo, anda akan menghadapi ralat yang berkaitan dengan kehilangan maklumat nyahpepijat.

Pengesyoran

Untuk mengalih keluar maklumat penyahpepijatan sepenuhnya, ia adalah disyorkan untuk menggunakan pilihan -ldflags="-s -w". Ini secara berkesan menanggalkan simbol dan maklumat nyahpepijat, menjadikannya lebih sukar untuk menyahkompiun binari yang disusun.

Atas ialah kandungan terperinci Bagaimana untuk Mengumpul Kod Go Tanpa Maklumat Penyahpepijatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn