如何为Go语言调试器dlv添加命令别名?
解决dlv别名设置失败的问题
你遇到的问题是别名设置的语法顺序搞反了,dlv的config alias命令格式为config alias <别名> <目标命令>,你把目标命令和别名的位置写反了,导致别名无法被正确识别。
正确的别名设置步骤
- 启动dlv会话后,执行正确的别名配置命令:
(dlv) config alias main "break main.main"
- 验证别名是否生效:
(dlv) config -list aliases: map[main:[break main.main]]
此时再输入main就能成功设置main.main的断点。
让别名永久生效
如果不想每次启动dlv都重新设置别名,可以把配置写入dlv的全局配置文件:
- 在
~/.config/dlv/目录下创建config.yml文件(若不存在则新建) - 写入以下内容:
aliases: main: "break main.main"
之后每次启动dlv都会自动加载这个别名。
另一种快速方案:启动时自动执行断点命令
你也可以跳过别名设置,直接在启动dlv时指定初始化命令,一步到位:
dlv debug simple.go --init <(echo 'break main.main')
或者写个简单的shell脚本(比如命名为dlv-debug.sh)简化操作:
#!/bin/bash dlv debug "$@" --init <(echo 'break main.main')
给脚本添加执行权限后,直接运行./dlv-debug.sh simple.go就能自动进入带main.main断点的调试会话。
内容的提问来源于stack exchange,提问作者TX-St3ve
相关产品推荐
相关产品推荐

