在python3.3环境下

1.写一个简单地Python源文件,比如test.py,内容如下:

import sys, os
def test(arg1, arg2):
 print "begin test..."
 fun1('1', '2')
 print arg1
 print arg2

def fun1(arg1, arg2):
         print arg1
         print arg2
   
if __name__ == '__main__':
    test(*sys.argv[1:])

2, 右键test.py->Edit with IDLE进入IDLE界面,Run->Run Module打开Python Shell窗口,点击Debug->Debugger,就打开Debug Control界面,你也将会在Python Shell窗口看到如下显示信息:

[DEBUG ON]

3, 开始调试

3.1,在Python Shell输入如下测试行:

>>> test('3', '4')

3.2,在 fun1('1', '2')或者任意你想要查看的地方设置断点(在IDLE界面里右键->set breakpoint).

3.3,回到Python Shell界面按回车,你将看到在debug control窗口里显示test.py的第一行。

3.4,按Go按钮,将定位到test.py你刚才设置断点的地方.

3.5,按Step或者Over进行调试(Step与Over的区别在于:Step将进入到函数内部进行调试,Over是指不进入到函数内部进行调试,而是直接执行完这个函数).

3.6,你将看到在Python Shell窗口里分步看到打印的内容如下:

[DEBUG ON]
>>> test('3', '4')
begin test...
1
2
3
4
[DEBUG ON]
>>>

如何调试Python程序 通过IDLE的更多相关文章

  1. PDB调试Python程序

    pdb是python内置的调试工具, 它可以在终端中调试Python程序, 这允许pdb在很多无法安装IDE的服务器上使用. 虽然远程调试使用广泛, 但在必要的时候(比如难以在本地搭建运行环境)pdb ...

  2. 调试python 程序的几种方法总结

    程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...

  3. 利用Pycharm断点调试Python程序

    利用Pycharm断点调试Python程序 1.代码 准备没有语法错误的Python程序: #!/usr/bin/pythonimport numpy as np class Network: def ...

  4. 用IDLE调试python程序

    1. 设置断点 先放例子: import pdb a=1 b=10 pdb.set_trace()#这里是断点 c=a+b print(c) import pdb 后,用pdb.set_trace() ...

  5. 用PDB库调试Python程序

    Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用my ...

  6. [转] 用PDB库调试Python程序

    Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用my ...

  7. 使用spyder3调试python程序

    Ctrl+F5 以Debug模式运行文件 在debug之前记得用%reset 指令清空一下ipython工作空间中的变量,以免影响debug中变量值的查看 无论你是否打断点,都会在第一行语句执行之前中 ...

  8. 调试python程序

    pdb 关键步骤 python -m pdb ***.py n 单步

  9. repr调试python程序

    一般调试程序的时候都比较倾向print,利用直接打印的方法作出判断,但是print只能打印出结果,对类型无法作出判断.例如: a = 5 b = ' print(a) print(b) 结果为: 5 ...

随机推荐

  1. MAC为Apache2服务器配置多个虚拟主机

    Mac 下自带的 Apache 配置 2016年01月25日 00:25:03 阅读数:1292 参考: http://www.cnblogs.com/snandy/archive/2012/11/1 ...

  2. leetcode-hard-ListNode-Copy List with Random Pointer-NO

    mycode 报错:Node with val 1 was not copied but a reference to the original one. 其实我并没有弄懂对于ListNode而言咋样 ...

  3. Message NNNN not found; No message file for product=network, facility=TNS

    Message NNNN not found; No message file for product=network, facility=TNS Table of Contents 1. 错误信息 ...

  4. NoSQL的种类

    https://www.zhihu.com/question/30219620

  5. #dokcer部署code-server web版vscode+golang

    codercom/code-server:latest不支持插件在线安装 codercom/code-server:v2目前为最新版1. #创建 docker rm -f vscode docker ...

  6. Linux服务器端使用tcpdump抓redis报文

    yum update yum install tcpdump tcpdump host -i ens192 -w /tmp/redis-zsetcapture.cap 其中ens192是网卡名, /t ...

  7. Java集合(7):散列与散列码

    散列的价值在于速度.我们使用数组来保存键的信息,这个信息并不是键本身,而是通过键对象生成一个数字(散列码),作为数组下标.由于数组的容量是固定的,而散列容器的大小是可变的,所以不同的键可以产生相同的数 ...

  8. 阿里云window server2012 r2服务器安装sql server2014配置成本地management工具连接

    1.关服务器防火墙. 2.阿里云管理控制台配置安全组, 3.进入服务器,打开

  9. idea-eclipse快捷键对比

      分类 功能点 Eclipse快捷键 IDEA快捷键 搜索 搜索文本 Ctrl + F Ctrl + F Ctrl + R 查找替换 Alt + P/A 逐个/全部替换 Alt + F3 查找当前选 ...

  10. 华三F100系列、华为USG6300系列防火墙 策略路由配置实例

    策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器. 策略路由的应用: 1.可以不仅仅依 ...