大型程序常常会运行在性能强劲的服务器上,但是此时程序的调试又成了难办的事情,于是产生了远程调试的需求,本文介绍WingIDE远程调试配置方法。

环境描述

  • WingIDE 版本需求 6.++/ 7.++ ,我的是 7.2.0

  • 本地操作系统 Win10

  • 远程服务器操作系统 Ubuntu 16.04

  • 安装 putty

  • 解决方案:使用ssh协议通信,实现远程调试

环境配置

安装SSH服务

查看服务是否安装:

sudo ps -e |grep ssh

返回带有 sshd 的条目即为已经安装

$ ps -e |grep ssh37 ?        00:00:00 sshd
16013 ?        00:00:00 sshd
16588 ?        00:00:00 sshd

否则安装SSH服务

sudo apt-get install openssh-server

生成SSH密钥对

在本地Win10(运行wingIDE的环境)使用ssh-keygen生成SSH密钥

$ ssh-keygen -t rsa

此时在 C -> Users -> Admin(用户名) -> .ssh 文件夹下会生成 id_rsaid_rsa.pub两个密钥文件,其中 id_rsa为私钥,无论如何不能交给别人。

远程主机配置SSH密钥

将刚刚生成的公钥文件id_rsa.pub复制到远程主机 ~/.ssh文件夹中,并添加到~/.ssh/authorized_keys里。

假设你的id_rsa.pub文件在.ssh文件夹中而且名称为rsa_temp.pub

cat ~/.ssh/rsa_temp.pub >> ~/.ssh/authorized_keys
rm  ~/.ssh/rsa_temp.pub

此时你的本机Win10系统ssh连接远程主机已经不再需要输入密码进行身份验证。

可以使用ssh命令测试是否配置成功,过程中询问是否继续连接,输入 yes即可:

ssh -p 3722 root@192.168.10.80 #-p为端口 一般来说ssh常用端口默认是22----->
The authenticity of host '[192.168.10.80]:3722 ([192.168.10.80]:3722)' can't be established.
ECDSA key fingerprint is SHA256:qCIsaqEa6wNy0daSgBxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.10.80]:3722' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)* Documentation:  https://help.ubuntu.com* Management:     https://landscape.canonical.com* Support:        https://ubuntu.com/advantage
Last login: Thu May 14 08:20:47 2020 from 192.168.10.213* Starting OpenBSD Secure Shell server sshd                             [ OK ]
root@fc6fa7bb6824:~#

此时我们已经可以用SSH连接两个操作系统,即已经完成了理论层面的配置,接下来进入具体操作阶段。

远程调试配置

此处解释一下,WingIDE在连接远程服务器时需要配置连接信息,而这个信息可以在putty中保存,也就是说,只要putty中保存的参数可以连接成功,那么这套配置就可以用于wingIDE的远程调试。

私钥文件id_rsa转换成putty的ppk格式

putty需要ppk格式的私钥文件,生成方法如下:

  • 运行puttygen (在putty同位置文件夹内)

  • 选择Conversions菜单项中的Import key选项:

  • 选择生成的id_rsa文件
  • 在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式了(不要点Generate

在putty配置远程连接信息

打开putty

  • 配置 Session :

主要配置IP和端口号,在Saved Sessions里配置可以区分的名字,之后供WingIDE调用

  • 配置 Connection-Data选项卡,在自动登录用户名处填入需要自动登录的用户名(我的是root)

  • 配置 Connection-SSH-Auth选项卡,浏览选择刚刚生成的私钥ppk文件:

  • 回到Session,点击Save保存当前配置到test_3722中:

  • 此后每次打开putty双击我们的test_3722即可连接到远程服务器:

配置WingIDE

距离成功仅一步之遥。

打开WingIDE, Project -> New Project

其中 Identifier 为该工程的名称, Host Name为我们刚刚保存的Putty名称,点击OK

  • 此时可以选择保存工程,也可以一会再说

  • 在远程的默认python路径往往不是我们需要的,我的常用python在conda的一个自建的环境中,可以指定其为wingIDE的默认远程python环境:

  • 随后一路OK,出现此对话框说明配置成功:

  • 重启python shell 可以在本地看到远程的python shell:

  • 可以简单通过操作系统验证是否配置成远程python

  • 在project中可以加入远程的工程

可以本地修改远程代码,并运行调试:

WingIDE 7.2.0 远程调试相关推荐

  1. UWA Pipeline 2.0 功能详解|私有云真机远程调试

    UWA Pipeline 是一款面向游戏开发团队的本地协作平台,旨在为游戏开发团队搭建专属的DevOps研发交付流水线. 为帮助大家更好了解最新2.0版本中的各项新功能,我们将陆续为大家进行详解. 今 ...

  2. mac下IDEA远程调试hive-2.2.0

    文章目录 1.首先刚刚下载的源代码,要先编译 2.远程调试 3.添加Remote 3.debug 1.首先刚刚下载的源代码,要先编译 mac下hive-2.2.0-src版本的编译 2.远程调试 使用 ...

  3. pycharm配置远程调试docker

    20210923 pycharm 运行远程解释器 20210915 远程调试确认配置 第一步如果事先没有配置ssh,可以选下面新建ssh 还有另一种调试方法:使用pycharm-debug包调试 详情 ...

  4. pycharm连接远程服务器并进行代码上传+远程调试

    Pycharm连接远程服务器并进行代码上传+远程调试 </h1><div class="clear"></div><div class=& ...

  5. NetBeans配置Xdebug 远程调试PHP

    很多PHP程序员使用echo,dump等比较原始的方法调试,这是非常落后的. 几年前本人写过一篇: NetBeans配置Xdebug 由于那篇文档还需要引用本人写的其他文档,感觉有些分散,所以这里重新 ...

  6. 【GDB】gdbserver的使用,远程调试开发板

    0.将gdbserver拷贝到目标板子上 注:gdbserver在交叉编译工具目录/debug-root/usr/bin下 可用file命令查看 --------------------------- ...

  7. ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源

    ECLIPSE远程调试出现如下问题  ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...

  8. Java Remote Debug(远程调试)

    Java Remote Debug(远程调试) 作者: ytfei 日期: 2011 年 05 月 08 日 发表评论 (0) 查看评论 新接手的项目采用的是Maven作为编译管理工具,项目内容则是按 ...

  9. [转载]eclipse的远程调试功能配置

    原文地址:eclipse的远程调试功能配置作者:我的 用途:web应用部署并运行于外部(区别于eclipse环境中启动的)应用服务器中,当出现问题时,可以使用eclipse工程的源代码进行跟踪调试. ...

  10. Visual Studio 2012/2010/2008 远程调试

    远程调试应用场景 部署环境:ASP.NET(C#)+IIS+Win7 64 bit 很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机.而测试人员会在服务器上录入测试数据,此 ...

最新文章

  1. 电力职称计算机多选,【2017年整理】职称计算机考试Office多选模拟题及答案.doc...
  2. mod_pagespeed
  3. 推荐系统中的长尾物品(Tail Items)推荐问题
  4. Boost:宏BOOST_TEST_GT的使用实例
  5. scala中NULL的option定义的字段初始化用Some
  6. PyInstaller 生成exe文件
  7. 运行 Java、Python、Go 等 25 种代码后,发现性能最强的竟然是它!
  8. ajax的content-download时间过慢问题的解决与思考
  9. Vue-Access-Control:前端用户权限控制解决方案
  10. 线性方程组的求解(C++)
  11. python-jieba库
  12. mysql rpm mar_Centos7.3离线(rpm方式)安装mysql服务
  13. 使用Python,SMTP发邮件到qq邮箱(文本/超链接/图片/表格/附件表格)
  14. mbp touchbar设置_macbookpro touchbar 怎么添加锁屏快捷键
  15. PHP数字球,球体的计算
  16. Gas Station (环形加油站)
  17. 已有企业认证的微信公众号快速创建一个企业小程序
  18. java中finally语句是否一定会被执行
  19. 洛谷P1605 迷宫(dfs) 题解
  20. Xtensa DSP结构学习

热门文章

  1. 外贸工具WhatsApp
  2. Linux 常见问题
  3. 计算机二级word 文档排版,word排版操作指导(计算机二级2010版)
  4. Python调用百度API实现语音识别
  5. OTA三种差分算法安装使用。bsdiff,hdiffpatch,xdelta3
  6. 晶振旁的电阻(并联与串联)和电容的作用
  7. Codeforces1221 C. Perfect Team
  8. css and HTMLpicture knowledge
  9. to_param()函数和parameterize()函数
  10. 英语3500词(一)university life主题(2022.1.13)