VS code远程调试python

本文详细介绍了如何使用VSCode进行远程服务器代码调试,包括通过sftp实现本地与远程服务器文件同步,以及在远程服务器上安装ptvsd进行远程调试的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近一直在用VS code编辑代码然后upload到远程服务器上,调试代码都是print,变量少倒还好,变量多就很烦,后来偶然听说VS code也可以远程调试,于是试着配置了下,看了几篇博客,遇到了几个坑,所以记录下,希望其他人少浪费时间在这种事情上。至于说为什么非要用VS Code,大概是因为看着舒服和用着习惯吧~

开始吧

主要参考的博客是:vs code修改、调试服务器代码

环境:本地系统(win7)、远程服务器系统(ubuntu16)

这里分为两个部分,第一部分是利用sftp实现本地和服务器的文件同步(会的同学可以直接跳过),第二部分是远程调试的配置。

1. 配置文件同步

首先在本地新建一个文件夹作为你的本地工程目录,用VS code打开这个文件夹,然后按快捷键ctrl+shift+X或者点击左边最下面的图标,接着输入sftp,点击安装。(如果你还没装python依赖的话,同样在这里输入python,然后安装)

按快捷键ctrl+shift+P,输入SFTP

选择SFTP: config,可以看到生成了一个sftp.json文件

将其修改为

{
    "name": "Local server",
    "host": "115.156.96.2",    // 修改为远程服务器ip
    "port": 22,
    "username": "ma sai ke",   // 修改为用户名
    "password": "ma sai ke",   // 修改为密码
    "protocol": "sftp",
    "passive": false, 
    "interactiveAuth": true,
    "remotePath": "/home/ma sai ke/project/test/", //修改为工程地址
    "uploadOnSave": true,
    "syncMode": "update",
    "watcher": {
        "files": "glob",
        "autoUpload": false,
        "autoDelete": false
    }
}

 这样你在左边工程目录中右键,选择Sync Remote -> Local,即可以将remotePath中的文件download到本地,同理,如果你修改了文件,右键选择Sync Local -> Remote,就可以将本地文件upload到服务器上。

 

2. 配置远程调试

在远程服务器上安装ptvsd(pip install ptvsd),我安装的版本是4.2.9,并且3.0.0和4.1.3这两个版本亲测不行

按快捷键ctrl+shift+D或点左边倒数第三个图标进入debug配置,选择Add Configuration...

选择python,Remote Attach

然后设置ip和端口号,这里设置端口号为3000

可以看到生成了一个launch.json文件(不需要修改

修改你要调试的代码,在开头加上

import ptvsd
ptvsd.enable_attach(address = ('115.156.96.2', 3000))
ptvsd.wait_for_attach()

然后在VS code中设置断点 

然后在服务器上运行代码(python  hello.py),如果你开始在代码中打印一个东西,那么可以看到并没有什么输出。这时点击一下DEBUG按钮

你就会看到神奇的事情(滑稽)

Debug测试结果

诶呀,认认真真写博客好累呀!终于写完了呀!

不说了,python写不下去了,我可能又要写C++了。。。

### 如何在 Visual Studio Code 中配置和运行 Python 调试 #### 安装必要的组件 为了能够在 Visual Studio Code (VSCode) 中调试 Python 代码,需先确保已经安装了 Python 解释器以及 VSCodePython 插件[^1]。 #### 创建项目结构 建立一个新的工作区或打开现有的 Python 项目,在其中创建所需的源文件。这一步骤对于后续配置至关重要。 #### 设置 launch.json 文件 通过点击左侧活动栏中的调试图标,再点击齿轮图标来生成 `.vscode/launch.json` 配置文件。此 JSON 文件定义了一系列用于控制调试行为的参数,例如要启动哪个程序、传递哪些命令行参数等。 ```json { "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } ] } ``` 上述 `launch.json` 示例展示了最基本的配置项——它指示 VSCode 执行当前编辑窗口内的脚本,并将输出重定向到集成终端中显示。 #### 添加断点与开始调试 可以在想要暂停执行的地方简单地点击行号旁边的空白区域以设置断点;当满足特定条件时,这些标记会使程序停止以便进一步分析。准备好之后按下 F5 键或者选择顶部菜单里的绿色播放按钮即可触发调试过程[^2]。 一旦进入调试模式,开发者可以利用 Debug Console 来评估表达式、查看局部变量的状态以及其他有用的信息。此外还支持逐步执行语句(`Step Over`)、深入函数内部(`Step Into`)等功能,帮助更细致地理解应用程序的工作原理。 #### 远程调试选项 除了本地开发外,还可以针对远程服务器上的应用进行调试操作。只需按照官方文档说明调整相应的连接属性和其他必要设定就能实现跨平台协作开发的目的。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值