附加進程 到遠程伺服器中Docker容器內 調試

很多時候,我們在本地開發過程中程式運行很正常,但是發布到線上之後由於環境的原因,可能會有一些異常。通常我們會通過日誌來分析問題,除了日誌還有一種常用的調試手段就是:附加進程。

VS中的附加進程非常強大,目前提供了9種常用的附加方式。

 

在當前.Net Core支援跨平台的大背景下,其中Llinux環境和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的初衷就是:鏡像打好之後,一個鏡像可以多個地方使用。但是在某些業務場景下,相信這種附加模式也會用到!