12 python remote-debugging docker visual-studio-code
我想在VSC中远程配音python:
它是main.py文件:
print('Hello, World')
Run Code Online (Sandbox Code Playgroud)
debug.py:
import ptvsd
ptvsd.enable_attach('my_secret', address=('0.0.0.0', 7102))
ptvsd.wait_for_attach()
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM python:3.6-slim
EXPOSE 7102
RUN pip install ptvsd
WORKDIR /app
COPY . .
CMD ["python", "debug.py"]
Run Code Online (Sandbox Code Playgroud)
它是launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceRoot}",
"remoteRoot": "/app",
"port": 7102,
"secret": "my_secret",
"host": "172.17.0.3"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是一个构建和启动容器的命令:
docker build -t python-for-debug.
docker run -it -p 7102:7102 python-for-debug
当我运行调试器时,我得到: vs代码屏幕
调试控制台没有任何错误,没有输出,没有问题.没有任何输出用于运行容器.没有泊坞日志
VS Code版本:1.15.0 Docker版本17.06.0-ce,build 02c1d87
小智 5
嗨,您应该使用ptvsd 3,因此将Dockerfile中的RUN行更改为:
RUN pip3 install ptvsd==3.0.0
Run Code Online (Sandbox Code Playgroud)
也可以在本地运行ptvsd安装:
$pip3 install ptvsd==3.0.0
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问https://code.visualstudio.com/docs/python/debugging#_remote-debugging, 这对我有用,希望对您有所帮助。
8 月 12 日编辑
我设置了一个测试版本来看看可能出现什么问题。问题是 Visual Studio Code 不会连接到调试器,它在仅连接之前失败
查看异常是在他们的 JS 代码中。
github上也有一个开放的问题
https://github.com/DonJayamanne/pythonVSCode/issues/805
您最好的选择是将这些详细信息添加到问题中或打开一个新问题
原答案:
您所看到的行为实际上是正确的。我看到了你的屏幕截图,你在客户端脚本中打印了“Hello World”,下面的代码是你的远程代码
import ptvsd
ptvsd.enable_attach('my_secret', address=('0.0.0.0', 7102))
ptvsd.wait_for_attach()
Run Code Online (Sandbox Code Playgroud)
如果您看到以下网址
https://donjayamanne.github.io/pythonVSCodeDocs/docs/debugging_remote-debugging/
阅读下面的引言
在两个脚本文件(即本地和远程计算机上的脚本)中进行上述更改,但是在客户端,确保上面两行被注释掉,即这对于确保我们在服务器上具有相同的行号并且它们是必要的匹配。
代码调试的执行全部发生在容器内。而本地机器中的代码更多的是能够可视化容器内的代码是哪一行
| 归档时间: |
|
| 查看次数: |
7984 次 |
| 最近记录: |