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

如何配置dlv等待VS Code客户端连接后再执行Go代码?

解决dlv调试服务器等待VS Code连接后再执行代码的问题

核心问题

你当前的dlv启动命令未配置程序暂停逻辑,导致调试服务启动后直接运行Go代码,无法提前设置目标断点。

解决方案

修改dlv启动命令,添加两个关键参数:--wait 和 --break main.main:

dlv debug /home/vagrant/go_dev/very_simple_server_dir/very_simple_server.go --headless --listen=:3000 --log --wait --break main.main

参数说明

  • --wait:让dlv先启动调试服务,等待VS Code客户端连接后再启动目标程序
  • --break main.main:强制在main函数入口设置断点,确保程序启动后立刻暂停,方便你在VS Code中添加任意需要的断点

操作步骤

  1. 终止正在运行的dlv进程
  2. 执行上述修改后的dlv启动命令,此时终端会显示调试服务已启动,但不会立即运行你的Go程序
  3. 在VS Code中启动调试连接(你现有的launch.json配置无需修改)
  4. 连接成功后,程序会暂停在main函数第一行,此时你可以为fmt.Println("server started now!")这行设置断点
  5. 点击VS Code调试工具栏的「继续」按钮,程序会运行到你设置的断点处,后续即可正常调试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:10:29