go读取二进制文件编译信息

news/2025/10/11 17:34:59/文章来源:https://www.cnblogs.com/azureology/p/19135606

诉求

希望了解二进制文件编译时的信息

本地

可以通过go version -m ./binary查看:

$ go version -m ./go-pprof-practice 
./go-pprof-practice: go1.24.2path	github.com/wolfogre/go-pprof-practicemod	github.com/wolfogre/go-pprof-practice	v0.0.0-20230706085634-23c8f603cac9+dirty	build	-buildmode=exebuild	-compiler=gcbuild	DefaultGODEBUG=asynctimerchan=1,gotestjsonbuildtext=1,gotypesalias=0,httplaxcontentlength=1,httpmuxgo121=1,httpservecontentkeepheaders=1,multipathtcp=0,netedns0=0,panicnil=1,randseednop=0,rsa1024min=0,tls10server=1,tls3des=1,tlsmlkem=0,tlsrsakex=1,tlsunsafeekm=1,winreadlinkvolume=0,winsymlink=0,x509keypairleaf=0,x509negativeserial=1,x509rsacrt=0,x509usepolicies=0build	CGO_ENABLED=1build	CGO_CFLAGS=build	CGO_CPPFLAGS=build	CGO_CXXFLAGS=build	CGO_LDFLAGS=build	GOARCH=amd64build	GOOS=linuxbuild	GOAMD64=v1build	vcs=gitbuild	vcs.revision=23c8f603cac9cde2cf7533287fc2091c37dc024fbuild	vcs.time=2023-07-06T08:56:34Zbuild	vcs.modified=true

网络

对于在线服务,希望将编译信息封装成api便于确认版本。

package mainimport ("fmt""runtime/debug""github.com/gin-gonic/gin"
)func Info(c *gin.Context) {info, ok := debug.ReadBuildInfo()if !ok {c.JSON(500, gin.H{"error": "no build info available"})return}buildInfo := make(map[string]string)for _, setting := range info.Settings {buildInfo[setting.Key] = setting.Value}c.JSON(200, buildInfo)
}func main() {router := gin.Default()router.GET("/info", Info)fmt.Println("Server starting on :8080")router.Run(":8080")
}

参考

Go1.18 新特性:编译后的二进制文件,将包含更多信息
debug package - runtime/debug - Go Packages

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025锯床厂家最新推荐榜:精准切割与高效性能的行业首选!

2025锯床厂家最新推荐榜:精准切割与高效性能的行业首选!在现代制造业中,锯床作为重要的加工设备之一,其性能和稳定性直接影响到生产效率和产品质量。随着技术的不断进步,锯床行业也在不断创新和发展。为了帮助筛选…

基于LangChain 实现 Advanced RAG-后检索优化(下)-上下文压缩与过滤

基于LangChain 实现 Advanced RAG-后检索优化(下)-上下文压缩与过滤摘要 Advanced RAG 的后检索优化,是指在检索环节完成后、最终响应生成前,通过一系列策略与技术对检索结果进行深度处理,旨在显著提升生成内…

2025.10.10 图论

最短路 P5304 [GXOI/GZOI2019] 旅行者 Hint:考虑从暴力优化. 图论建模,路径最短的两个关键点编号一定不同,按照二进制位划分成两个集合跑最短路. 最暴力的方法我们可以枚举关键点对跑最短路,时间复杂度 \(O(k^2m\l…

xshell把界面转发到xming

linux上执行如下命令 sudo apt install x11-apps -y然后xshell设置会话属性: 断开后重新连接 然后linux执行: xclock & windows上应该会打开一个眼睛的窗口 证明转发成功了作者:xuejianxiyang出处:http://xueji…

使用AI创建angular项目

angular环境已安装,版本信息如下: Angular Cl: 16.2.0 node: 18.10.0 Package Manager: npm 8.19.2 OS:win32 x64 1.使用angular cli创建一个项目 2.设计一个登录界面,包含用户名密码登录进系统,有两个功能菜单, …

大模型在软件研发协同演进

大模型在软件研发协同演进大模型在软件研发领域的应用AI时代软件工程变革与智能化发展趋势智能体能力逐渐成熟人机协同办公场景联动研发工作流,人机交互模式变革研发数字员工研发基础建设案例自动CR测试场景研发场景研…

NocoBase 走进德国大学课堂

将 NocoBase 作为课堂工具,带领学生从零搭建应用,完成低代码/无代码从理论到实践的跨越。原文链接:https://www.nocobase.com/cn/blog/university-course 背景 在德国某科技大学的课程《使用低代码平台进行应用开发…

2025青海视频号运营最新推荐:创意内容与高效推广策略的完美

2025青海视频号运营最新推荐:创意内容与高效推广策略的完美结合随着移动互联网的迅猛发展,短视频平台已经成为企业和个人展示自我、传播信息的重要渠道。在青海地区,视频号作为微信生态中的重要一环,其影响力和用户…

【Kotlin】一种基于链表结构的事件传播机制设计与实现 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

008_函数

1.定义函数 def greet_user(): """显示简单的问候语""" print("Hello!") greet_user() 1.1 向函数传递信息 def greet_user(username): """显示简单的问候语&…

内存分析记录

内存分析记录当碰到 ActivityTaskManager: START u0 {flg=0x10000000 cmp=com.test/com.test.activity.TestActivity} from uid 1000 pid -1 发现pid等于-1,由于是taskview启动,所以需要进一步查找pid信息Line 13009…

详细介绍:构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)

详细介绍:构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

2025 年图书杀菌机生产厂家最新推荐排行榜:聚焦高效杀菌技术与优质服务,优质企业全面盘点自助图书/臭氧图书/消毒图书/图书杀菌机厂家推荐

随着公共阅读需求的不断增长,图书馆、绘本馆等场所的图书流通频次大幅提升,图书卫生安全问题愈发受到重视。读者在借阅过程中,图书易附着细菌、病毒及灰尘,传统清洁方式难以满足高效杀菌需求,优质图书杀菌机成为必…

公网服务器下的dify安装模型插件的相关问题和操作

公网服务器下的dify安装模型插件的相关问题和操作在前面部署好dify后,我发现安装模型插件出现了一些问题,不知道是有关内存的原因还是什么,在安装模型供应商时非常卡顿。 这是finalshell中的状态,不知道如何解决。…

vscode 生成代码片段

https://snippet-generator.app/

MySQL根据表生成实体类

MySQL根据表生成实体类SELECT CONCAT(/// <summary>\n, ///,column_comment,\n ,/// </summary>, public , ( case LOWER(Data_type) when varchar then string when text then string when tinyint then …

2025票务系统最新推荐榜:高效便捷与用户体验俱佳的优质选择

2025票务系统最新推荐榜:高效便捷与用户体验俱佳的优质选择随着旅游业和娱乐业的快速发展,票务系统的市场需求日益增长。高效的票务系统不仅能够提升用户体验,还能帮助企业提高运营效率。为了帮助筛选票务系统品牌,…

千万公众号运营者必看:8 款编辑器核心能力大 PK

千万公众号运营者必看:8 款编辑器核心能力大 PK一、开篇背景:公众号生态下的创作效率革命 截至2025年,微信公众号数量已突破数千万,编辑器市场规模以年均15%增速扩张至10亿元级别。然而80%的运营者仍受三大痛点困扰…

详细介绍:linux基础服务

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …