vscode golang 调试时如何生成固定的名字,而不是__debug_bin3821025376.exe 这种随机名字?

149 天前
 xdeng

vscode golang 调试时如何生成固定的名字,而不是__debug_bin3821025376.exe 这种随机名字? 如果是 win 系统 程序带网络监听功能的话每次调试都需要允许防火墙操作。

1893 次点击
所在节点    Go 编程语言
5 条回复
guanzhangzhang
149 天前
github 搜索__debug_bin https://github.com/search?q=repo%3Ago-delve%2Fdelve%20__debug_bin&type=code
走到这个逻辑 debugname = gobuild.DefaultDebugBinaryPath("__debug_bin")
而 DefaultDebugBinaryPath 函数逻辑是 CreateTemp
func DefaultDebugBinaryPath(name string) string {
pattern := name
if runtime.GOOS == "windows" {
pattern += "*.exe"
}
f, err := os.CreateTemp(".", pattern)
guanzhangzhang
149 天前
只有设置 output 才是固定的,没设置就是上面逻辑
FEINIAO233
149 天前
设置.vscode 目录下的 launch.json ,output 参数可以固定,类似
{
"version": "0.2.0",
"configurations": [
{
"name": "调试主程序",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/main.go",
"env": {},
"args": [],
"cwd": "${workspaceFolder}",
"output": "${workspaceFolder}/output/debug_app"
}
]
}
xdeng
149 天前
@guanzhangzhang
@FEINIAO233 对的 对的 非常感谢两位老哥,我搜索、DS 都没问出结果来。
xdeng
149 天前
忘了去看 dlv 的源码了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1125422

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX