Velt-0.2.6对Python远程调试的支持

近一段时间在ARM上使用Python,用以完成嵌入式设备的测试工作,最大的不爽在于使用很简陋的命令行,想要即时提示之类的高级功能,做梦去吧。

既然不爽,就开始改造它。

VS下有一个很好用的Python插件PTVS,但是很可惜,它虽然提供了ptvsd这个python库以支持远程调试,但是却不支持远程的命令行操作。而且ptvsd的操作也并不是那么的方便,不如直接F5那么直接。

最终设想这样的开发方式:

1、嵌入式设备通过NFS连接到虚拟机里的指定目录。再将此目录通过samba共享给windows,以此达到不同系统访问同一个文件的目的。

2PTVS调用Velt提供的PythonWrapper,而PythonWrapper通过Velt的连接管理中心,使用Ssh/Telnet/COM连接到设备并控制python的运行。

3、设备上的python程序通过网络将结果反馈给PTVS

4、最后通过VS前端进行展示。

 

具体的技术实现参见前面的两篇文章。下面看看Velt-0.2.6中的操作过程。

1.1    配置Python主机参数

Velt-0.2.6对Python远程调试的支持_第1张图片

这里的连接方式可以有三种选择,Ssh/Telnet/PuttySession,前面两种比较好理解,使用第三种连接方式时,通过Session名称指定要使用的PuttySession名称。

Velt-0.2.6对Python远程调试的支持_第2张图片

还要记得将Velt目录下ptvs子目录中的几个文件复制到这里的PTVS路径下。

1.2    配置PTVS

接下来配置PTVS,为了让PTVSIntelliSense能够正常工作,我们首先将Interpreterpath设置为windows下的python,如C:\Python27\python.exe

Velt-0.2.6对Python远程调试的支持_第3张图片

而后更新IntelliSense

Velt-0.2.6对Python远程调试的支持_第4张图片

最后将python可执行文件设置为Velt-0.2.6中自带的PythonWrapper.exe


1.3    使用命令行

上面两个都配置好后,就可以自由使用PTVS的命令行了:

Velt-0.2.6对Python远程调试的支持_第5张图片

看看此时Velt连接管理中心的输出:

Velt-0.2.6对Python远程调试的支持_第6张图片

一切正常!

1.4    F5调试

Python工程放在虚拟机的共享目录下,直接F5调试:

Velt-0.2.6对Python远程调试的支持_第7张图片



~~搞定~~






你可能感兴趣的:(linux,python,VS2013,velt)