问题描述
MacOS:10.15.6 Visual Studio代码:1.49.1
launch.json:
{
"version": "0.2.0","configurations": [
{
"name": "Python: Remote Attach","type": "python","request": "attach","logToFile": true,"justMyCode": false,"outputCapture": "std","connect": {
"host": "localhost","port": 5678
},"pathMappings": [
{
"localRoot": "${workspaceFolder}","remoteRoot": "${workspaceFolder}"
}
]
}
]
}
Docker命令
docker run --name faber --rm -it
-p 0.0.0.0:8020-8027:8020-8027 -p 8028:8028
.......
0 Starting Session:
{
"name": "Python: Remote Attach","connect": {
"host": "localhost","port": 5678
},"pathMappings": [
{
"localRoot": "/Users/j.bora/work/bsi/Blockchain/identity-and-access-management/aries-cloudagent-python","remoteRoot": "/Users/j.bora/work/bsi/Blockchain/identity-and-access-management/aries-cloudagent-python"
}
],"debugOptions": [
"DebugStdLib","RedirectOutput","UnixClient","ShowReturnValue"
],"showReturnValue": true,"workspaceFolder": "/Users/j.bora/work/bsi/Blockchain/identity-and-access-management/aries-cloudagent-python"
}
1 Client --> Adapter:
{
"command": "initialize","arguments": {
"clientID": "vscode","clientName": "Visual Studio Code","adapterID": "python","pathFormat": "path","linesStartAt1": true,"columnsstartAt1": true,"supportsVariableType": true,"supportsVariablePaging": true,"supportsRunInTerminalRequest": true,"locale": "en-us","supportsProgressReporting": true
},"type": "request","seq": 1
}
3 Error:
{}
5 Client --> Adapter:
{
"command": "disconnect","arguments": {
"restart": false
},"seq": 2
}
6 Error:
{
"code": "EPIPE"
}
2508 Stopping Session
如上面的日志文件所示,我得到了EPIPE错误。此外,调试器不会附加到远程docker进程。请有人帮助解决此错误。谢谢。
解决方法
当我让调试器在容器内的 localhost 而不是 0.0.0.0 上监听时,我遇到了同样的问题:
python -m debugpy --listen localhost:5678 myfile.py
在0.0.0.0上运行它可以解决问题:
python -m debugpy --listen 0.0.0.0:5678 myfile.py