V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
xdeng
V2EX  ›  Go 编程语言

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

  •  
  •   xdeng · 12 天前 · 1260 次点击

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

    5 条回复    2025-04-15 09:33:09 +08:00
    guanzhangzhang
        1
    guanzhangzhang  
       12 天前   ❤️ 1
    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
        2
    guanzhangzhang  
       12 天前   ❤️ 1
    只有设置 output 才是固定的,没设置就是上面逻辑
    FEINIAO233
        3
    FEINIAO233  
       12 天前   ❤️ 3
    设置.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
        4
    xdeng  
    OP
       11 天前
    @guanzhangzhang
    @FEINIAO233 对的 对的 非常感谢两位老哥,我搜索、DS 都没问出结果来。
    xdeng
        5
    xdeng  
    OP
       11 天前
    忘了去看 dlv 的源码了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   968 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:45 · PVG 06:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.