首页 > 其他分享 >vscode远程调试

vscode远程调试

时间:2022-11-09 17:26:29浏览次数:57  
标签:计算机 vscode 0.0 debugpy 5678 远程 调试

在本地计算机上:

  • 在 vscode的工作空间中,创建用于远程调试的配置文件launch.json,设置端口和主机以及目录映射。

    {
      "name": "Python: Attach",
      "type": "python",
      "request": "attach",
      "justMyCode": false,  // let all python code could be debugged
      "connect": {
        "port": 5678,
        "host": "100.85.188.161",
      },
      "pathMappings": [
        {
          "localRoot": "${fileWorkspaceFolder}", // Maps C:\Users\user1\project1
          "remoteRoot": "/usr/local/lib/python3.7/site-packages" // To current working directory ~/project1
        }
      ]
    }

开始调试

  • 两台计算机:确保调试涉及源代码完全相同。

  • 两台计算机:使用python -m pip install --upgrade debugpy将debugpy安装到远程环境中,本地计算机由vscode安装到虚拟环境中。

  • 远程计算机:有两种方法来指定如何连接到远程过程,推荐用第二种方法。

  • 在源代码中,添加以下行,地址0.0.0.0和端口5678可以替换为远程计算机的 IP 地址和端口号。

    import debugpy
    
    # Allow other computers to attach to debugpy at this IP address and port.
    debugpy.listen(('0.0.0.0', 5678))
    
    # Pause the program until a remote debugger is attached
    debugpy.wait_for_client()

    为了安全考虑,listen使用的 IP 地址应是远程计算机的私有 IP 地址。然后,您可以正常启动程序,使其暂停,直到调试器连接。

  • 通过模块debugpy启动远程进程,比如:

    python3 -m debugpy --listen 0.0.0.0:5678 --wait-for-client -m murano
    python3 -m debugpy --listen 0.0.0.0:5678 --wait-for-client murano/cmd/api.py
  • 本地计算机:只有当您修改了上面概述的远程计算机上的源代码,然后在源代码中,添加在远程计算机上添加的相同代码的评论副本。添加这些行可确保两台计算机上的源代码逐行匹配。

    #import debugpy
    
    # Allow other computers to attach to debugpy at this IP address and port.
    #debugpy.listen(('1.2.3.4', 5678))
    
    # Pause the program until a remote debugger is attached
    #debugpy.wait_for_client()
  • 本地计算机:切换到 VS 代码中的运行视图,选择Python:附加配置

  • 本地计算机:在要开始调试的代码中设置一个断点。

  • 本地计算机:使用修改后的Python启动 VS 代码调试器:附加配置和开始调试按钮。VS 代码应停止在本地设置的断点上,允许您跨过代码、检查变量并执行所有其他调试操作。您在调试控制台中输入的表达式也在远程计算机上运行。

    文本输出到粗壮,从语句,显示在两台计算机上。但是,其他输出(如来自像 matplotlib 这样的包中的图形图则仅显示在远程计算机上。print

  • 在远程调试期间,调试工具栏显示如下:

    远程调试期间的调试工具栏

    在此工具栏上,断开按钮(Shift+F5)可停止调试器,并允许远程程序运行到完成。重新启动按钮(Ctrl+Shift+F5)会重新启动本地计算机上的调试器,但不会重新启动远程程序。只有在您已经重新启动远程程序并且需要重新连接调试器时,才使用重新启动按钮。

标签:计算机,vscode,0.0,debugpy,5678,远程,调试
From: https://www.cnblogs.com/chenyujie/p/16803845.html

相关文章