环境
服务器:centos7、.net core 3.0、SSH
本机:windows10、vs2019、.net core 3.0
linux需要安装 ubuntu
sudo apt-get install openssh-server unzip curl
或者 centos
sudo yum install openssh-server unzip curl
vs2019设置
第一步:设置远程连接,工具>选项>跨平台>连接管理器>添加
输入主机地址、用户名和密码,端口默认22不变
第二步:附加到进程,调试>附加到进程
找到dotnet进程,并选择你的应用程序
第三步:确定要附加的进程,选择托管(.NET Core for Unix)
然后给代码加上断点,就和本地调试一致了
可能遇到的问题
附加进程时,长时间卡在’正在启动调试适配器’或提示’未能启动调试适配器’
这种原因是因为linux服务器访问微软服务器比较慢,在下载vsdbg-linux-x64.tar.gz文件时超时失败了
解决办法:
1.想办法下载好vsdbg-linux-x64.tar.gz后,拷贝到内网服务器随便一个web程序的根目录
2.然后更改linux服务器 /root/.vs-debugger/目录下的GetVsDbg.sh文件
3.将366行 url更改为 url=”http://你的服务器地址:端口/vsdbg-linux-x64.tar.gz”
4.在linux根目录执行命令 /bin/sh /root/.vs-debugger/GetVsDbg.sh -v vs2019 -l /root/.vs-debugger/vs2019 -a /remote_debugger
最后如下,则表示成功
注意:
1、linux环境下的调试除SSH端口之外,不需要开放其他端口。
2、vsdebuger的下载路径可能会因为VS版本不同使得地址不同,可以在附加一次后,再次进入附加,能看到进程列表中的wget进程,里面会有目标下载地址。
主要是这个地址国内访问很慢,如果不手动下载安装要等很久。