golang dlv 远程调试

时间:2022-01-13 03:34:45

因为不知道delvel 是如何设置源码的,本地编译的上传到服务器上,服务器要调试看不到源码,很是忧伤,所以干脆使用远程调试吧:

在服务器上 ps x|grep game 查找到gameserver的进程pid

然后服务器命令行输入:
dlv attach $PID --headless --api-version=2 --log --listen=:8181

本机只要输入:

dlv connect www.example.com:8181 连接到服务器上的dlv进程,就可以在本机远程调试了。

需要注意的是

本机quit 以后,远程dlv进程也会结束。
本机没有dlv connect,远程dlv直接关闭会导致 远程调试进程PID直接退出(很是忧伤)
本机dlv输入quit以后,会让你选择是否关闭调试进程,这个有时候也方便,不过大多数都是选择N 不关闭调试进程PID