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.json
的Attach
部分需要是:
{ "name": "Python: Attach", "remoteRoot": "/app/", ... }
现在我可以debugging我的代码。