附加进程 到远程服务器中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的初衷就是:镜像打好之后,一个镜像可以多个地方使用。但是在某些业务场景下,相信这种附加模式也会用到!