Dag*_*oms 3 remote-debugging python-3.x docker visual-studio-code
我正在Docker容器内的Python 3.6上运行一个烧瓶应用程序.我正在尝试从Mac上的VS Code调试烧瓶应用程序.
我已经连接了远程调试器,虽然我的断点都没有被击中,并且所有断点都在VS Code中显示为"未验证"断点.
当我运行远程调试器,它打破了在瓶的587线__init__.py,中Resource.dispatchRequest(),其内容如下resp = meth(*args, **kwargs).尝试前进,介入或退出不会产生任何结果.点击继续多次(大约20次)将继续从我的测试脚本发出下一个请求.
调试器永远不会在我的代码中的断点上停止,并且它将断点显示为未验证的断点.当调试器卡在烧瓶请求代码中时,调用堆栈会以灰色显示我的代码中的方法,并在它们旁边显示"未知来源".我无法在调用堆栈中插入它们,尽管我可以在"变量"窗口中看到局部变量.
如何让VS Code调试我的代码?
在launch.json该Attach节具有以下默认:
{
"name": "Python: Attach",
"remoteRoot": "${workspaceFolder}",
...
}
Run Code Online (Sandbox Code Playgroud)
这个默认值对于Docker容器没有意义,除非您将代码复制到它在主机上的完全相同的路径下.
我的Dockerfile将我的代码复制到容器中,如下所示:
COPY . /app/
Run Code Online (Sandbox Code Playgroud)
所以需要的Attach部分launch.json是:
{
"name": "Python: Attach",
"remoteRoot": "/app/",
...
}
Run Code Online (Sandbox Code Playgroud)
现在我可以调试我的代码了.
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |