首页 文章

在VSCode中设置Python远程调试

提问于
浏览
2

我将远程(ubuntu 16.04)驱动器安装在我的本地系统(ubuntu 16.04)上,以便我可以通过在vscode中打开它们来编辑源文件 .

此外,在集成终端中,我可以ssh到远程系统并使用远程python解释器运行程序,该解释器安装在虚拟环境中,如:

$ssh username@remoteip    
$workon remotevirtualenv
(remotevirtualenv)$python source.py

我想启用远程调试,这样如果我运行调试/运行远程文件,我本地系统上安装的vscode使用我的远程python解释器 .

我浏览了文档,建议使用ptvsd扩展(要求在本地有一个源文件的2个副本,另一个服务器),但我不知道如何在这种情况下配置它 . 感谢帮助 . 谢谢 .

Edit 1: 因为,我说我已经阅读了文档,但我不清楚如何在这种情况下进行配置 . 例如文档说

在两台计算机的源代码中,添加以下行,将my_secret替换为相应的密码以验证远程调试,并使用适当的IP地址(或localhost)和端口号替换地址:

ptvsd.enable_attach("my_secret", address = ('0.0.0.0', 3000))

但我只有一个源文件副本,即在远程系统上 . 我刚刚将它安装在我的本地文件系统上 . 所以,我应该给我的本地IP地址,或者它应该是远程系统IP和我应该使用哪个端口号,因为我只有一个源的副本,因此ptvsd,它是如何进行通信的 . 此外,在配置中,我应该使用 localRoot 位置和 remoteRoot 位置 .

3. {
     "name": "Attach (Remote Debug)",
     "type": "python",
     "request": "attach",
     "localRoot": "${workspaceFolder}",
     "remoteRoot": "${workspaceFolder}",
     "port": 3000,
     "secret": "my_secret",
     "host": "localhost" 
 }

2 回答

  • -2

    您需要将远程IP地址放在 ptvsd.enable_attach("my_secret", address = ('remote_ip_address', 3000))launch.json 中:

    {
      "name": "Attach (Remote Debug)",
      "type": "python",
      "request": "attach",
      "localRoot": "${workspaceFolder}",
      "remoteRoot": "/home/user1/scripts/",
      "port": 3000,
      "secret": "my_secret",
      "host": "remote_ip_address" 
    }
    

    您还需要将 remoteRoot 值更改为脚本在远程计算机中所在目录的路径(例如 /home/user1/scripts/ ) .

    最后,打开一个ssh连接: ssh -L 3000:localhost:3000 ,在远程计算机上运行脚本并将调试器连接到本地计算机 .

  • 1

相关问题