vs code修改、调试服务器代码

1. 为什么这样做?

  之前使用ssh连接服务器,然后借助jupyter notebook修改服务器代码,然后使用pdbpdb.set_trace()在终端调试代码。切换成vs code的原因如下:

  1. jupyter 中查看python方法时,各个类之间方法互相引用,跳转不方便;
  2. 查看代码的时候,遇见不了解的方法时,无法时时看到方法的解释和参数说明;
  3. 调试代码时,查看参数值时不是特别方便。

2. 设备及软件描述:

  1. mac ,ubantu(16.04)
  2. visual studio code(1.29.1)

3.修改远程服务器代码

  修改服务器代码使用vscode的插件sftp,安装完成后。配置过程如下:

  1. sftp.json文件。使用快捷键(mac) shift+cmd+p ,然后输入SFTP:Config,打开sftp.json文件。当然sftp.json中还可以配置属性password,ignore.具体查看sftp的说明。
pic 1

2.同步本地代码到本地。命令为:SFTP:sync Remote -> Local

pic 2
  1. 修改代码,保存后,同步到服务器。命令为:SFTP:sync Local -> Remote
pic 3

4. 本地调试远程代码(敲黑板,划重点,不认真看的考试不及格)

  这里必须得意下:我在引擎上搜索了很久,要么是pycharm的方法 要么是visual studio 版本不一样,不能完全参考。(包括官网)。当然这里我还是主要参考官方文档resolver101757github的提问。,像他们的成果表示深深的感谢。

  1. 设置launch.json。
pic 4
  1. 选择python :attach.
pic 5
  1. 设置attach(敲黑板)。由于vscode 默认没有生成如下代码,会导致可以服务器监听到,但是无法做到本地调试,而且当添加断电时,总是提示pydev debugger: warning: trying to add breakpoint to file that does not exist:。我就是在这里苦苦寻找了一天半才找到解决办法。
pic 6
  1. 接下来已经配置完成。需要做的就是讲代码从服务器同步到本地,在代码开头(import之前)添加如下代码。然后在将代码同步到服务器。
import ptvsd   # 使用pip 就可以安装,网上有人说需要版本小于4.1.3,亲测4.2.0没问题。
import time
ptvsd.enable_attach(address=("10.0.3.0",5678))  # 这里的端口号大一些,大于1024,否则也会报错。
ptvsd.wait_for_attach()
time.sleep(1)
  1. 在vscode终端使用ssh 连接上服务器,然后运行代码,在vscode 中点击调试按钮(杀虫剂图标),选择上面设置的python:attach,点击运行按钮。如下图:
pic 7
  1. 正确就可以成功启动本地调试。

5. 可能的报错

  1. python socket.error: [Errno 98] Address already in use [closed]
       ptvsd.enable_attach(address=("10.0.3.0",5678)) ,端口号太小,之前我就取22,改成大一些就OK,5678是默认的。
  2. pydev debugger: warning: trying to add breakpoint to file that does not exist
      返回去看专题4的问题3(设置attach(敲黑板))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 给我爱的回应我就去赴佳期, 愿我们在林荫道上十指相扣, 把梁祝的爱情故事轻唱, 永记着我们相识的时光。 若是你现在...
    依然yiran06阅读 71评论 0 0
  • 一个抽象类、接口、多态的简单实例。 News 和 UrlNews类 Displayable接口 News类 Url...
    迷路的丸子阅读 1,068评论 0 0
  • .
    Jonsez阅读 242评论 0 0
  • 亲爱的又又,时光飞逝,用在你陪伴我的这一年,再恰当不过,我经常回忆到从医院抱你回来的那个早上,你小小的人,包在...
    又又de妈妈阅读 229评论 0 1