前端之家收集整理的这篇文章主要介绍了
避免在golang上调试信息,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为gc默认
包括调试信息.但是,我想避免反编译.
使用gc编译go代码时如何删除调试信息?
注意:
使用gccgo不能解决问题.如果我不使用-g编译,则可执行文件被破坏,只能输出:
ELF可执行程序errno -1中没有调试信息
致命错误:ELF可执行文件中没有调试信息
运行时堆栈:
ELF可执行程序errno -1中没有调试信息
恐慌期间恐慌“
go
链接器有一个标志-w,它禁用DWARF调试信息
生成.您可以提供
链接器标志来进行工具构建命令,如下所示:
go build -ldflags '-w'
Linux / Unix平台上的另一种方法是对编译的二进制文件使用命令条.这似乎产生比上述链接器选项更小的二进制文件.
原文链接:https://www.f2er.com/go/186817.html