快乐虾

http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651)

欢迎转载,但请保留作者信息

本文仅适用于vs2013 + velt-0.1.5

VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完毕Linux开发。

利用这个插件,将能够在visualstudio的IDE中进行Linux应用程序的开发(包含编译和调试)。也能够进行uboot和linux内核的编译和调试,并依据编译时的错误信息正确定位到源代码。眼下的版本号是0.1.5,仅支持vs2013。此插件能够在百度网盘下载(http://pan.baidu.com/s/1c0lMxdm),安装过程參见《用vs2013+velt-0.1.4进行嵌入式开发:插件安装》。以下是它的基本功能:

  1. 支持x86 Linux,海思hi3516/hi3520,MinGW这几个平台,提供这几个平台的项目模板。

  2. 完毕UBOOT的编译,并依据编译的错误信息自己主动定位到对应的文件位置。

  3. 完毕LINUX内核的编译,并依据编译的错误信息自己主动定位到对应的文件位置。

  4. 利用串口进行内核的简单调试。

  5. 在VS下完毕Linux内核的配置。

  6. 不使用Makefile进行Linux应用程序的编译。

  7. 使用Makefile进行Linux应用程序的开发。

  8. 使用SSH连接目标机器并用gdb进行应用程序的调试。

  9. 使用Telnet连接目标机器并用gdb进行应用程序的调试。

  10. 在VS中集成Linux终端(Poderosa),支持SSH/Telnet/Com,在打开终端时自己主动将VS的变量导出为bash里的变量,如ProjectDir等。

  11. 带python-2.7.6。且集成了numpy, scipy, matplotlib, cv2, pyqt4等python库。能够在PTVS下直接调用进行调试。

接下来加上python终端,原以为能够直接用微软的PTVS插件,可惜PTVS分析库文件总出错。其原因在于当库文件比較多的时候,PTVS的分析器将因为内存分配失败而退出!。当然最后无法得到正确的结果,而语法高亮等则是依赖于这个结果。无奈仅仅好删除一些临时不会使用的库再分析,这回能够了,记下此过程供以后參考。

PTVS既支持.net下的IronPython,也支持CPython。因为此前已经成功搭好了CPython-2.7.6的环境,选择CPython。

1.1  环境配置

在安装完ptvs后,选择Python Enviroment进行配置:

新建一个环境,让它指向我们的python可执行文件和库文件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

在路径改变后,PTVS会读取库文件夹下的文件进行分析。在分析结束后能够看到:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

实际上。PTVS将分析的结果保存在了

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

这一堆的idb就是PTVS所须要的分析结果。当库文件夹下的文件改变时。PTVS会自己主动又一次进行分析。

1.2  Python命令行

打开python的命令行。随便输入几个命令測试:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

非常强大的功能。感觉比IDLE或者spyder都舒服。

1.3  脚本编辑

再试试PTVS的脚本编辑功能,写一段代码:

脚本编辑器的功能相同强大。

可是有一点让人不爽的是,当使用cv2这种模块时。PTVS是无法进行提示的。因为这个opencv的模块是以动态库的形式提供的。没有对应的.py文件,因此PTVS也就无法获得其接口信息。

1.4  脚本调试

python的调试有两种模式。一种是脚本模式。还有一种是本机模式,脚本调试时须要去掉native code debugging选项:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

设置断点,F5:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

要是能够直接显示为图像就更好了。

1.5  本机调试

相同是上面的代码。选上本机调试,F5,此时PTVS并不会在断点的地方停下来,而是会全速执行,直接显示执行的结果。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

能够看到刚才的断点变成了无效断点。

选择VS2013里的暂停执行:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

进入C的调试。

强大的VS!



VELT-0.1.5开发:在VS2013下进行python开发的更多相关文章

  1. Ubuntu系统下搭建Python开发环境

    之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...

  2. Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)

    目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...

  3. Linux发行版Ubuntu下的Python开发环境的配置

    linux下的Python安装, 首先我们需要使用都Shell一系列的命令(前面的linux基础可不是白学的哦!) 1.更新软件安装源地址 sudo apt-get update apt-get,是一 ...

  4. VS2013下搭建SDL开发环境

    什么是SDL? SDL是 "Simple DirectMedia Layer"的缩写,它是一个开源的项目. 为多媒体编程而设计 SDL是一个跨平台的多媒体库,它通过OpenGL和2 ...

  5. Windows 下 Django/python 开发环境配置

    1.安装 Aptana/Eclipse Aptana是在eclipse上二次开发的一个开源的集成开发环境,内置python编译器 http://www.aptana.com/ 2. 安装python ...

  6. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  7. RedHat下安装Python开发环境

    Linux RedHat下安装Python2.7.pip.ipython环境.eclipse和PyDev环境 准备工作,源Python2.6备份: 根据which python具体目录而定,进行备份 ...

  8. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  9. window下搭建python开发环境

    搭建一个python开发环境比较简单,所以就稍微记录一下. 1.下载python然后安装 2.配置环境变量 3.在eclipse添加PyDev插件 1.下载python 官网:https://www. ...

随机推荐

  1. 【WC2019笔记】IOI2018 / ACM题目选讲

    哇!济南的 rqy 大佬讲课!就是 $luogu$ 上有名的那位! 上面这句话写错了,请大家无视 XylophoneIOI2018 练习赛 T2题意:交互提有一个 $0\sim n-1$ 的排列,保证 ...

  2. Java数据结构-------Map

    常用Map:Hashtable.HashMap.LinkedHashMap.TreeMap 类继承关系: HashMap 1)无序:  2)访问速度快:  3)key不允许重复(只允许存在一个null ...

  3. BZOJ 3876 支线剧情

    支线剧情 [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往都有很多的支线剧情,现在JYY想花费最 ...

  4. android基本控件学习-----ProgressBar

    ProgressBar(进度条)讲解 一.常用属性和基础使用实例 (1)常用属性: android:max:进度条的最大值 android:progress:进度条已完成进度值 android:pro ...

  5. c语言中的main函数讨论

    **从刚开始写C程序,相比大家便开始写main()了.虽然无数的教科书和老师告诉我们main是程序的入口.那么main函数是怎么被调用的,怎么传入参数,返回的内容到哪里了,返回的内容是什么?接下来我们 ...

  6. Spring Boot学习——Controller的使用

    本文主要记录几个注释的使用方法. 1. @Controller : 处理http请求 2. @RequestMapping : 配置URL映射 3. @RestController : 组合注解,sp ...

  7. LVS高可用集群的配置

    网络结构: LVS DR工作原理 LVS集群从客户端上看可以将整个集群看成单个服务器对外提供服务,其IP是集群内部的VIP(虚拟IP).从内部看,转发服务器(DS)其实并没有启动应用层的服务对接口进行 ...

  8. Python学习杂记_3_字符串操作的常用方法

    字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...

  9. 用chardet判断字符编码的方法

    转自http://www.cnblogs.com/xiaowuyi/archive/2012/03/09/2387173.html 用chardet判断字符编码的方法   1.chardet下载与安装 ...

  10. C++ STL之count函数

    谓词(predicate):是做某些检测的函数,返回用于条件判断的类型,指出条件是否成立. 总结: count : 在序列中统计某个值出现的次数 count_if : 在序列中统计与某谓词匹配的次数 ...