面试题答案
一键面试- 安装Delve: 确保已安装Delve调试器,使用以下命令安装:
go install github.com/go-delve/delve/cmd/dlv@latest
- 设置断点:
假设Web服务代码文件名为
main.go
,在处理HTTP请求的函数中,比如func handler(w http.ResponseWriter, r *http.Request)
,在编辑器中,将光标移到要设置断点的代码行(例如函数开始处或关键代码行)。 使用dlv
命令行设置断点,进入项目目录后运行:
dlv debug main.go
在dlv
交互环境中,使用break
命令设置断点,例如:
(dlv) break main.handler
这里main
是包名,handler
是函数名。
3. 启动调试:
设置好断点后,在dlv
交互环境中运行continue
命令启动Web服务并等待请求触发断点:
(dlv) continue
- 查看函数参数和局部变量:
当断点触发,
dlv
会暂停程序执行。可以使用print
命令查看函数参数和局部变量的值。 例如查看w
参数的值:
(dlv) print w
查看r
参数的值:
(dlv) print r
若函数中有局部变量,例如var localVar string
,查看其值:
(dlv) print localVar
- 查看函数调用栈信息:
使用
stack
命令查看函数调用栈信息,它会展示从程序入口到当前断点处的函数调用层级关系:
(dlv) stack