鸿顺里网站建设,湘潭自适应网站建设 磐石网络,取公司名称大全,大邑县建设局网站GO远程调试
之前写C#xff0c;一直习惯了本地IDERemote CMake/GDB编译调试的模式。
因为6.824课程需要用GO#xff0c;好像没有特别好的支持。记录一下如何配置调试的。 IDE: Goland 操作系统#xff1a;Windows 远程服务器#xff1a;Ubuntu 首先配置SSH,让其可以连接到…GO远程调试
之前写C一直习惯了本地IDERemote CMake/GDB编译调试的模式。
因为6.824课程需要用GO好像没有特别好的支持。记录一下如何配置调试的。 IDE: Goland 操作系统Windows 远程服务器Ubuntu 首先配置SSH,让其可以连接到服务器 配置部署。选择SFTP。在映射中选择上传的路径。 这样就实现了本地和服务器文件的同步
在服务器上安装delve
因为是ubuntu,我是直接sudo apt install delve就能进行安装。 但是后面发现直接这样安装的话版本有冲突 然后使用dlv version进行安装检查
使用源码进行安装
cd ~git clone gitgithub.com:go-delve/delve.gitcd delvego install github.com/go-delve/delve/cmd/dlv这个时候在你的go目录下比如我的是~/go/bin会出现名字叫dlv的可执行文件。
然后将该路径添加到环境变量就行了。 此时dlv version可以正确显示版本 dlv version
Delve Debugger
Version: 1.21.0
Build: $Id: fec0d226b2c2cce1567d5f59169660cf61dc1efe $编写测试文件
package mainimport (fmtruntime
)func main() {fmt.Println(Hello Go)showOS()
}func showOS() {os : runtime.GOOSfmt.Println(当前操作系统是:, os)
}测试代码说明创建目录test,并且创建go.mod文件。 配置Go Remote 然后使用终端进入你的服务器代码路径比如我的是~/projects/6.824/test/hello。
按照提示运行
dlv debug --headless --listen:2345 --api-version2 --accept-multiclient
进行运行配置
这里运行于选择之前部署的服务器。然后在远程目标上构建 进行调试
可以看到此时已经可以在服务器上构建并单步调试代码了