You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

什么是/tmp/goc-build-xxxxx目录?dlv调试时无法访问该目录如何处理?

Go构建临时目录相关问题解答

1. /tmp/goc-build-*临时目录的作用

  • 存放构建全流程的中间产物:go build执行时会生成该随机命名临时目录,用于保存预处理后的源文件、.o目标文件、链接阶段临时文件等,避免污染源代码所在目录。
  • 提升编译效率:针对包含cgo代码、多依赖的项目,该目录会缓存未修改依赖的编译结果,增量编译时可直接复用,减少重复编译耗时。
  • 作为构建工作目录被写入调试符号:Go工具链会将该目录的绝对路径写入二进制的调试信息中,因此使用dlv调试二进制时会看到该构建路径。

2. 无法访问该目录的原因

go build命令默认在构建完成、最终二进制文件生成后,会自动清理删除对应的goc-build-*临时目录,因此构建结束后你再访问该路径就会返回No such file or directory错误。

如果调试场景需要保留该临时目录,可以在构建时添加-work参数:

go build -work /git.company.com/service/

执行后控制台会打印临时目录的路径,且构建结束后不会自动删除该目录。


内容的提问来源于stack exchange,提问作者fu4ng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:48:03