很多時候,我們在本地開發過程中程式運作很正常,但是釋出到線上之後由于環境的原因,可能會有一些異常。通常我們會通過日志來分析問題,除了日志還有一種常用的調試手段就是:附加程序。
VS中的附加程序非常強大,目前提供了9種常用的附加方式。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iM0kTM0EjN50SMykDOzYTN2EjMwgDMyIDMy0yMzIzMzATMvwFOwIjMwIzLcNzMyMzMwEzLcd2bsJ2Lc12bj5ycn9Gbi52YuIjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
在目前.Net Core支援跨平台的大背景下,其中Linux環境和Linux Docker的附加顯得尤為重要。
那麼我們來看看如何附加到遠端伺服器中的Docker。
1.必要條件
想附加Linux中的Docker容器,必須安裝SSH伺服器
sudo apt-get install openssh-server unzip curl
2.設定調試選項
在工具->選項->調試中,取消勾選以下選項:
- 啟用“僅我的代碼”
- 要求源檔案與原始版本完全比對
3.附加程序
選擇Docker(Linux容器),并點選查找,配置Linux伺服器資訊
4.選擇容器
在清單中選擇要附加的容器。并點選附加,彈出選項中選擇托管(.NET Core For Unix)
5.觸發線上邏輯,确認是否能命中斷點
通過觸發線上業務邏輯,可以看到已經命中了斷點
附加程序到遠端伺服器中的Docker這種模式,可能用的不多,因為docker的初衷就是:鏡像打好之後,一個鏡像可以多個地方使用。但是在某些業務場景下,相信這種附加模式也會用到!