美文网首页
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