快乐虾

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. 第二篇:python基础_2

    本篇内容 数字 字符串 元祖 字典 列表 集合 for循环 二进制 字符编码 文件处理 一.数字 1.int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2 ...

  2. table单元格内容过多换行显示

    <table class="am-table am-table-striped am-table-hover table-main am-table-compact " st ...

  3. 12小时制时间&&24小时制时间

    今天在获取时间的时候发现,插入到数据库中的时间,其中下午的时间直接显示01,02的样子...查了下资料发现了端倪, java.text.SimpleDateFormat f=new java.text ...

  4. chrome浏览器无法安装非应用商店插件的解决办法

    不久前,安装了一个非chrome应用商店的第三方应用,今天突然发现无法使用,打开chrome的扩展程序后,发现该插件以及被禁用,在网上查找了解决方法,设置“开发者模式”,修改了chrome的参数,仍然 ...

  5. 个人环境搭建——搭建tomcat

    搭建tomcat 和前几个软件一样,Tomcat 同样是由JAVA开发的,所以,在安装前一定要装好JDK,具体JDK搭建过程参见 个人环境搭建——搭建JDK环境 篇.   系统环境:ubuntu12. ...

  6. topK问题解法

    topK问题的最佳解法是堆排,下面介绍用堆排来解决该问题. 堆排解决topK问题的思路,取出前K个数,最重要的就是要减少比较的次数,用堆排维护一个K大小的堆,比如一个小顶堆,则堆顶为堆中最小的值,将堆 ...

  7. Vue的this.$root.Bus.$on事件被多次触发、多次监听的问题

    前端vue项目中,各个组件(非父子关系也可)之间可以通过Bus进行事件通信. main.js中: import Vue from 'vue' const Bus = new Vue(); const ...

  8. POJ 2891

    Strange Way to Express Integers Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 19509 ...

  9. 修复无法启动的mariadb

    一直在用的数据库,今天无论如何启动不了了,最后在archlinux wiki上查到了解决方法: mysql_install_db --user=mysql --basedir=/usr --datad ...

  10. linux下终端录制

    主要是以下三步: 一.安装软件:curl -sL https://asciinema.org/install | sh 二.录制终端:asciinema rec filename 三.回放终端:asc ...