美文网首页
vs code修改、调试服务器代码

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

作者: Wolfog | 来源:发表于2018-11-29 16:37 被阅读0次

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(敲黑板))

相关文章

网友评论

      本文标题:vs code修改、调试服务器代码

      本文链接:https://www.haomeiwen.com/subject/zltfcqtx.html