前言 有時候必須在伺服器上調試代碼。比如做微信公眾號開發,需要做一些url回調, 此時無法在開發電腦上做調試。所以遠程調試代碼就很有必要了。經過2個小時摸索,順利實現。 (註意:用jexus時無法遠程調試,因為jexus隱藏了dotnet進程,它把dotnet作為自己的子進程,所以無法附加dotne ...
前言
有時候必須在伺服器上調試代碼。比如做微信公眾號開發,需要做一些url回調, 此時無法在開發電腦上做調試。所以遠程調試代碼就很有必要了。經過2個小時摸索,順利實現。 (註意:用jexus時無法遠程調試,因為jexus隱藏了dotnet進程,它把dotnet作為自己的子進程,所以無法附加dotnet進程.)
1.在vs2017中設置centos伺服器ssh連接信息
菜單 工具-》選項 跨平臺-- 連接管理器,如下圖,添加ssh伺服器
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埠啟用也要指定
b. 終端執行 dotnet xxx.dll 運行程式
4.通過附加到進程實現遠程調試
vs2017點菜單 調試-》附加到進程
選擇dotnet進程,點附加
選managed,確定,此時vs2017就處於調試狀態了,可以設一個斷點。如果斷點無法設置,可以看看輸出視窗里的提示信息,根據提示信息一般可以解決問題。如果找不到原因,把centos上的dotnet程式重啟一下,vs2017也重啟一下再試。
--------------------- 本文來自 soband_xiang 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/soband_xiang/article/details/82914195?utm_source=copy