运维开发网

vs2017 远程调试部署在centos上的asp.net core程序(通过附加程序的方式)

运维开发网 https://www.qedev.com 2020-04-29 15:18 出处:网络 作者:运维开发网整理
         前言        有时候必须在服务器上调试代码。比如做微信公众号开发,需要做一些url回调, 此时无法在开发电脑上做调试。所以远程调试代码就很有必要了。经过

         前言

       有时候必须在服务器上调试代码。比如做微信公众号开发,需要做一些url回调, 此时无法在开发电脑上做调试。所以远程调试代码就很有必要了。经过2个小时摸索,顺利实现。 (注意:用jexus时无法远程调试,因为jexus隐藏了dotnet进程,它把dotnet作为自己的子进程,所以无法附加dotnet进程.)

1.在vs2017中设置centos服务器ssh连接信息

     菜单 工具-》选项    跨平台-- 连接管理器,如下图,添加ssh服务器

vs2017 远程调试部署在centos上的asp.net core程序(通过附加程序的方式)

2.在centos服务器上安装unzip软件

   调试器第一次附加程序时要下载一些zip格式的软件包,需要解压,因此要安装unzip

    在centos上运行命令: yum install -y unzip zip

3.编译程序,上传服务器并运行

  a. debug模式下编译程序,将程序dll文件和对应的.pdb文件上传到服务器。  (dll和pdb一定要是同时生成的,否则不匹配无法命中断点)

      注意,.net core程序需要做一些修改:

     1)https功能实现要在.net core程序内部实现

     2)443端口启用也要指定

vs2017 远程调试部署在centos上的asp.net core程序(通过附加程序的方式)

  b. 终端执行 dotnet xxx.dll 运行程序

 4.通过附加到进程实现远程调试

   vs2017点菜单  调试-》附加到进程

vs2017 远程调试部署在centos上的asp.net core程序(通过附加程序的方式)

选择dotnet进程,点附加

vs2017 远程调试部署在centos上的asp.net core程序(通过附加程序的方式)

选managed,确定,此时vs2017就处于调试状态了,可以设一个断点。如果断点无法设置,可以看看输出窗口里的提示信息,根据提示信息一般可以解决问题。如果找不到原因,把centos上的dotnet程序重启一下,vs2017也重启一下再试。

 

--------------------- 本文来自 soband_xiang 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/soband_xiang/article/details/82914195?utm_source=copy 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号