如何本地調試測試環境的代碼


1. 本地環境沒問題,上了測試出問題

相信很多朋友都有我這樣類似的遭遇,明明程序代碼,配置文件都一樣,挪了一個窩就出問題,你說氣人不,既然問題出了那怎么快速解決呢? 對,就是用調試,但程序部署在 centos 上,送一個 visualstudio 上去也不現實,在這種限制級條件下還想調試怎么辦呢?不錯,可以上遠程調試,然后就很快查到了測試機器中的某一個環境變量搞錯了,事情的來龍去脈搞清楚了,接下來就看看怎么實現 local 到 centos 的 遠程調試。

1) 測試代碼

為了方便演示,我就在 Action 中讀取 strategy 環境變量。


    public class HomeController : Controller { public IActionResult Index() { ViewBag.strategy = Environment.GetEnvironmentVariable("strategy"); return View(); } } 

2) 安裝 SSH

要遠程調試,需要在遠端機安裝 SSH,因為后面附加進程調試 就要借助 SSH 打通。


yum install openssh-server unzip curl

安裝完成后,就能看到 22 端口已啟動


[root@localhost data]# netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1126/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3037/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1739/master tcp6 0 0 :::22 :::* LISTEN 1126/sshd tcp6 0 0 ::1:631 :::* LISTEN 3037/cupsd tcp6 0 0 ::1:25 :::* LISTEN 1739/master 

3) 程序的發布配置

發布配置上,第一個要確保是 debug 版本,第二個要確保是 可移植模式 (Portable), 如下圖:

圖片名稱

4) 使用附加進程調試

在菜單欄依次選擇:Debug -> Attach To Process,然后填寫 ssh 需要的各種信息,如下圖:

圖片名稱

點擊 Connect 后,就能看到遠端機器的 dotnet程序 進程號,選擇該進程進行附加,在 Select Code Type 中選擇 Nanaged (.NET Core for Unix)即可,如下圖:

圖片名稱

5) 順利調試

在 瀏覽器中鍵入: http://192.168.142.130/Home/Index ,可以看到我的 C# 代碼被命中,也順利的拿到了遠端機器的 環境變量,問題也就迎刃而解。

圖片名稱

 

 

引自一線碼農的文章:https://www.cnblogs.com/huangxincheng/p/13924326.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM