在Ubuntu上调试Go程序需安装Delve调试器,可用goinstall命令获取。Delve是Go语言调试器,功能强大。编译时加-gcflags"all=-N-l"禁用优化和内联。使用dlvdebug启动会话,通过break(断点)、next(单步)、continue(继续)等命令控制。也可配置VSCode的launch.json实现图形界面调试,支持设置
Ubuntu Golang调试教程
作者:技术拾光
时间:2026-06-29
浏览:624
文章目录
在Ubuntu系统上调试Go语言程序,使用Delve调试工具可以清晰掌握每一步执行过程。下面详细介绍具体操作步骤。

第一步:安装Delve,Go调试的核心工具
Delve(简称dlv)是Go社区广泛使用的调试器。安装命令如下:
go install github.com/go-delve/delve/cmd/dlv@latest
安装完成后,Delve位于$GOPATH/bin目录。确保该目录已加入$PATH环境变量,否则终端输入dlv会提示命令未找到。
第二步:编译时关闭优化与内联
调试阶段,编译器优化可能导致变量重排、函数内联,影响断点位置和变量查看。编译时需添加两个参数:
go build -gcflags "all=-N -l" main.go
-N表示禁用优化,-l表示禁用内联。这样调试器看到的代码逻辑与源码完全对应。
第三步:启动调试会话
使用Delve启动程序:
dlv debug main
执行后,Delve加载程序并进入交互式命令行模式。此时可设置断点、单步执行、查看变量,所有操作均在掌控之中。
常用调试命令
Delve的命令设计直观,常用命令如下:
- 设置断点:
break 函数名或简写b 函数名 - 继续执行:
continue或c,程序运行到下一个断点停止 - 单步跳过:
next或n,不进入函数内部 - 单步进入:
step或s,进入被调用函数 - 跳出函数:
finish,执行完当前函数并返回 - 打印变量:
print 变量名或p 变量名 - 查看局部变量:
locals - 查看函数参数:
args - 列出所有goroutine:
goroutines - 切换到指定goroutine:
goroutine ID - 退出调试器:
quit
图形界面调试:使用VSCode
如果命令行操作不够直观,可使用VSCode配合Go扩展。步骤如下:
确保已安装VSCode和Go扩展。在项目根目录创建.vscode文件夹,新建launch.json文件,写入以下配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}
保存后,打开VSCode调试面板,选择“Launch”配置,点击绿色三角启动调试。断点、单步、变量监视均提供图形界面支持,体验接近IDE。
以上是Ubuntu系统上调试Go语言程序的核心步骤。无论偏好命令行还是图形界面,Delve均能满足需求。从安装、编译到断点设置与变量查看,这套流程可应对日常大部分调试场景。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章