Debugging-Informationen aus Go-kompiliertem Code entfernen
Debugging-Informationen sind häufig in Go-Code enthalten, der standardmäßig mit gc kompiliert wird. Während es für Debugging-Zwecke hilfreich sein kann, erhöht es auch die Größe der ausführbaren Datei und macht sie anfällig für Dekompilierung.
Entfernen von Debugging-Informationen
Um Debugging-Informationen während zu entfernen Geben Sie beim Kompilieren mit gc das Flag „-ldflags“ zusammen mit den Optionen „-s“ und „-w“ an. Der folgende Befehl demonstriert dies:
go build -ldflags="-s -w"
Die Option „-s“ entfernt die Symboltabelle, während die Option „-w“ DWARF-Debuginformationen unterdrückt. Dadurch werden effektiv alle Debugging-Informationen aus der kompilierten ausführbaren Datei entfernt.
Hinweis zu gccgo
Die Verwendung von gccgo löst dieses Problem nicht. Das Kompilieren ohne das Flag „-g“ führt zu einer fehlerhaften ausführbaren Datei, die Fehler im Zusammenhang mit fehlenden Debug-Informationen ausgibt.
Zusätzliche Option in Go 1.13
Mit der Einführung von Ab Version 1.13 kann das Flag „-trimpath“ verwendet werden, um die Länge der in der ausführbaren Datei gespeicherten Dateipfade zu reduzieren. Dadurch wird die Größe des kompilierten Codes weiter minimiert.
Das obige ist der detaillierte Inhalt vonWie entferne ich Debugging-Informationen aus kompiliertem Go-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!