Python远程debugging器不会在VS代码中debugging我的代码

我正在Docker容器里面运行Python 3.6的应用程序。 我试图从我的Mac上的VS Codedebugging烧瓶应用程序。

我已经附加了远程debugging器,虽然我的断点没有被击中,并且在VS Code中都显示为“未validation”的断点。

当我运行远程debugging器时,它在Resource.dispatchRequest()中的flask的__init__.py第587行中断开,它读取resp = meth(*args, **kwargs) 。 试图向前迈进,迈进或迈出不成果。 继续打多次(大约20次)将从我的testing脚本继续下一个请求。

debugging器从来没有停止在我的代码中的断点,它显示我的断点作为未经validation的断点。 当debugging器停留在烧瓶请求代码中时,调用堆栈将以灰色显示我的代码中的方法,并在其旁边显示“未知源”。 我无法在调用堆栈中进入它们,尽pipe我可以在“variables”窗口中看到局部variables。

我怎样才能得到VS代码来debugging我的代码?

launch.json ,“ Attach部分具有以下默认值:

 { "name": "Python: Attach", "remoteRoot": "${workspaceFolder}", ... } 

对于Docker容器来说,这个默认值是没有意义的,除非你将代码复制到主机上的相同path下。

我的Dockerfile将我的代码复制到容器中,如下所示:

 COPY . /app/ 

所以launch.jsonAttach部分需要是:

 { "name": "Python: Attach", "remoteRoot": "/app/", ... } 

现在我可以debugging我的代码。