快乐虾

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. BZOJ 1036: [ZJOI2008]树的统计Count(树链剖分)

    树的统计CountDescription一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改 ...

  2. 【bzoj4668】冷战 并查集按秩合并+朴素LCA

    题目描述 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争 ...

  3. BZOJ3144 [Hnoi2013]切糕 【最小割】

    题目 输入格式 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q列的矩阵,第z个 矩阵的第x行第y列是v(x,y,z) (1≤x≤ ...

  4. 【01】Vue 之hello wolrd

    1.1. Vue简介 Vue是一个前端的双向绑定类的框架,发音[读音 /vjuː/, 类似于 view].新的Vue版本参考了React的部分设计,当然也有自己独特的地方,比如Vue的单文件组件开发方 ...

  5. practical system design with mef & mef[ trans from arup.codeplex.com/]

    Practical System Design using MEF MVVM RX MOQ Unit Tests in WPF Posted on May 21, 2015 by Arup Baner ...

  6. [LeetCode] Linked List Cycle II 链表环起始位置

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---6

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...

  8. Hadoop-hdfs安装与配置

    一.安装要求   安装JDK   yum -y install jdk(或手动安装)  设置namenode节点到datanode节点的免密码登陆   a. 本地免密码登录     # ssh loc ...

  9. LeetCode OJ-- Longest Common Prefix

    https://oj.leetcode.com/problems/longest-common-prefix/ 在多个string的集合中,找出所有string的最长公共前缀. 从头开始 index ...

  10. 51nod 1050 循环数组最大子段和【环形DP/最大子段和/正难则反】

    1050 循环数组最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该 ...