运行程序

运行 Python 源程序,有两种方法,以 example.py 为例:

example.py代码:

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # ithomer.net
  4. a = 1
  5. def display():
  6. print("hello ithomer")
  7. global a
  8. print("a = %d" % a)
  9. a = 2
  10. print("a = %d" % a)
  11. if __name__ == '__main__':
  12. display()
  • 运行结果:
  • hello ithomer
    a = 1
    a = 2
  • 方法1:在 Pydev Package Explorer 中,双击 example.py,选择 菜单栏 -> Run -> Run As -> Python Run
  • 方法2:在 Pydev Package Explorer 中,右键 example.py,在弹出的菜单栏中选择 Run As -> Python Run

以上两种方式是运行源程序的基本方法。

Code Coverage

Pydev 还提供一种特有的源程序运行功能 Run As Python Coverage,该功能不仅能显示出程序的运行结果,而且能将程序运行过程中代码的覆盖率显示出来。要查看代码的覆盖率,首先需要打开 Code Coverage,在 Pydev 透视图中,选择 Windows -> Show View -> Code Coverage

在弹出视图的左栏中,可以看到三个按钮,”Choose folder to analyze”, “Clear” 和 ”Refresh”

用鼠标左键单击 ”Choose folder to analyze”,在弹出的 Folder Selection 窗口中选择需要运行的程序所在的包,单击 Ok。这样,这个包中所有的源程序便显示在左栏中。

接下来,仍以 example.py 为例,看看 Run As Python Coverage 功能展现出的结果。选择Run As -> Python Coverage,控制台 Console 中显示出了程序的运行结果。切换到刚才打开的 Code Coverage Results View 视图,单击左栏中的 example.py。

代码运行过程中的覆盖情况很清楚地显示在右栏中。

双击左栏中的 example.py,没有覆盖到的代码便在编辑器中以醒目的错误标志被标注出来。

如果关闭 Code Coverage Results View 视图,代码的覆盖信息并没有丢失,重新打开该视图同样可以显示出这些信息。只有通过单击左栏的 “Clear” 按钮,才可以清除程序运行后得到的这些覆盖信息。

调试程序

调试是程序开发过程中必不可少的,下面仍以 example.py 为例,介绍如何使用 Pydev 的调试功能。

调试需从添加断点开始,设置断点有三种方式:

  • 1)双击编辑器中标尺栏左边灰白的空白栏,在某行添加断点

2)鼠标右键单击标尺栏,在弹出的菜单栏中选择 ”Add Breakpoint” 添加断点
3)将鼠标移至需要添加断点的代码行,使用快捷键 Ctrl+F10,在弹出的菜单栏中选择 ”Add Breakpoint” 添加断点。

添加好断点后,选择 Debug As -> Python Run 启动调试器,弹出一个对话框,询问是否切换到调试器透视图,单击 Yes,即显示调试模式,如下图:

程序调试过程中,常用的几个快捷键如下:

  • 单步跳入 Step Into:      F5
  • 单步跳过 Step Over:     F6
  • 单步返回 Step Return:  F7
  • 重新开始 Resume:        F8

在控制台 Console 中,显示出断点之前代码的执行结果。如果要查看某个变量的值,以变量 a 为例,可以手动在控制台中键入一行代码 ”a”,再连续按两次 Enter 键,即显示出变量的值(如上图)

在调试模式下,要查看表达式的值,选中后单击鼠标右键,选择 Watch。弹出 Expression面板,显示出了相应的变量或表达式的值。

如果想要在满足一定条件下已经添加的断点才有效,可以设置断点的属性。在编辑器的标尺栏中单击鼠标右键,弹出的菜单栏中选择 Breakpoint Properties。

在显示的窗口中,选中复选框 ”Enable”,输入需要满足的条件,单击 Ok。

这样,当重新执行程序调试的时候,只有满足条件的情况下,该断点才有效,如下图,直接跳到满足条件 "a == 2"处

python --Eclipse中安装pydev插件及调试的更多相关文章

  1. eclipse中安装pydev插件出现duplicate location

    eclipse中安装pydev插件出现duplicate location,主要是因为之前已经填写了该地址并且已经加载了,具体的解决办法见下链接: http://jingyan.baidu.com/a ...

  2. Windows下安装Python及Eclipse中配置PyDev插件

    最近开始接触Python,鉴于之前安装Java的教训,决定这次边安装Python,边写下历程,供日后反复使用. 在Python官网http://www.python.org/下载Python版本,鉴于 ...

  3. Eclipse中安装MemoryAnalyzer插件及使用

    Eclipse中安装MemoryAnalyzer插件 一.简介 Eclipse作为JAVA非常好用的一款IDE,其自带的可扩展插件非常有利于JAVA程序员的工作效率提升. MemoryAnalyzer ...

  4. 总结eclipse中安装maven插件

    当自己越来越多的接触到开源项目时,发现大多数的开源项目都是用maven来够建的.并且在开发应用时,也越来越意识到maven的确会解决很多问题,如果你要了解maven,可以参考:Maven入门指南(一) ...

  5. SVN工具的使用 和在Eclipse中安装GPD插件:(多步审批流,因此选择使用工作流(JBPM)来实现)

    前言 重点解说SVN工具的还原版本号.   1.提交svn之前.要先更新文件.假设更新之后有版本号冲突的话.就线下解决掉冲突,在把该文件标记为已经解决冲突. 正文 使用SVN还原历史版本号 water ...

  6. 在Eclipse中安装spket插件

    spket是一个开发JavaScript和Ext等的开发工具,它可以 是独立的IDE,也可以作为 Eclipse的插件使用,下面介绍如何在Eclipse中安装spket插件, 1.首先上 官网 htt ...

  7. eclipse中安装freemarker插件及ftl使用freemarker编辑器

    http://www.07net01.com/2015/08/895212.html eclipse中安装freemarker插件及ftl使用freemarker编辑器 在线安装的方法是:Help – ...

  8. 在eclipse中安装groovy插件

    在eclipse中安装groovy插件详细步骤: step 1:检查自己的eclipse版本:在help->About Eclipse中查看: step 2:进入 https://github. ...

  9. 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文

    在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文安装成功后ASCII还是不能转换成中文的,原因是设置里面没有把编码设置为utf8的, ...

随机推荐

  1. Asp.Net初学小结 判断数组中是否有重复的数据

    Asp.Net初学小结   第一章   1.搭建Asp.net开发环境   1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5)  ...

  2. C---指针篇

    指针变量:专门存放内存地址的一种变量 听说C因为指针而强大 一段代码来解释 指针 *指针 &指针 &指向变量 的关系 /* * 返回指针所指向内存地址中存放的值 它是单目运算符 也称作 ...

  3. open-source Julius speech-recognition engine

    http://julius.osdn.jp/en_index.php?q=index-en.html Open-Source Large Vocabulary CSR Engine Julius ht ...

  4. poj3040(双向贪心)

    Allowance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1540   Accepted: 637 Descript ...

  5. Data Matrix Font and Encoder条码控件可以以字体的形式来打印DataMatrix条形码

    Data Matrix Font and Encoder条码控件使您能够以字体的形式来打印DataMatrix条形码. 本产品能够在不论什么支持Java类库..NET动态链接库或Windows COM ...

  6. WPF popup控件的使用

    <Window x:Class="WPFPopup.RuntimePopup"     xmlns="http://schemas.microsoft.com/wi ...

  7. javascript中提高代码的封装性

    我出的面试题中,有一条是问如何避免页面引用JS,出现函数.变量重复.冲突的. 从大的方面讲,应该引入javascript的模块化开发,符合AMD规范之类: 从小的方面说,大概就是限定变量和函数的作用域 ...

  8. 提高sqlite 的运行性能(转载)

    原文地址: https://blog.devart.com/increasing-sqlite-performance.html One the major issues a developer en ...

  9. 九度OJ 1112:拦截导弹 (DP、最长下降子序列)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3124 解决:1525 题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能 ...

  10. 什么是 AQS ?

    1.什么是AQS? AQS是英文单词AbstractQueuedSynchronizer的缩写,翻译过来就是队列同步器. 它是构建锁或者其他同步组件的基础框架(如ReentrantLock.Reent ...