Python 调试器debugger
2013-12-18 22:28
197 查看
程序中总是难免有一些bug,有一些是可以由代码解释器查出来的,而有一些却是比较隐蔽的。
在Python中,有三种bugs可能出现在代码中:
语法错误(syntax errors):一般是由程序员的拼写错误(typo)造成的,可以由解释器找出来。这种错误不解决,则程序无法运行。
运行时错误(runtime errors):程序运行时产生的错误。程序会运行,直到存在这种错误的代码行,终止运行,同时解释器会提示一个traceback并显示出错的行数。
语义错误(semantic errors):这种错误是最难找的,也是最需要用到debugger的地方,因为这种错误不会造成程序提前终止,而会执行完,但结果与预期不符。可能是自己的一个公式写错,也可能是自己把变量取值范围写错,等等。
这时,使用debugger就可以查看程序运行中的实时情况,知道当时的变量值或者分支情况,加快寻找bug的过程。
步骤(windows下):
首先,打开代码文件。
其次,打开debugger:在交互的shell中,点击Debug菜单项,在弹出的菜单中点击Debugger,这时Debug control窗口就会弹出来了。将Source与Globals打上勾。在这个窗口中,可以找到自己需要的所有运行时信息。
然后,转到代码文件,按F5,运行。由于打开了debugger,程序会停到第一行。这时,就要用到Debug control窗口中左上角那5个按钮了。它们的意思分别为:
[plain] view
plaincopy
Go:以正常速度执行程序的剩余部分,直到结束或者遇到一个断点(break point)
Step:一次让程序执行一行代码,如果当前行是一个函数调用,则debugger会跳进这个函数里面。
Over:一次让程序执行一行代码,如果当前行是一个函数调用,则debugger不会跳进这个函数,而会直接得到其运行结果,并移动到下一行。
Out:当debugger已进入某一个函数调用的时候,可以直接跳出这个函数;当未进入函数调用的时候(即在主程序中),则与Go作用相同。
Quit:直接结束程序。
对于每一种debugger,设置Break point的功能都是必不可少的。在Python中,通过在代码文件中的某一行点右键可以对这一行添加断点或者取消断点。断点设置成功后,这一行会被变成黄色的高亮。断点配合Go命令,可以加快debug的过程。
在Python中,有三种bugs可能出现在代码中:
语法错误(syntax errors):一般是由程序员的拼写错误(typo)造成的,可以由解释器找出来。这种错误不解决,则程序无法运行。
运行时错误(runtime errors):程序运行时产生的错误。程序会运行,直到存在这种错误的代码行,终止运行,同时解释器会提示一个traceback并显示出错的行数。
语义错误(semantic errors):这种错误是最难找的,也是最需要用到debugger的地方,因为这种错误不会造成程序提前终止,而会执行完,但结果与预期不符。可能是自己的一个公式写错,也可能是自己把变量取值范围写错,等等。
这时,使用debugger就可以查看程序运行中的实时情况,知道当时的变量值或者分支情况,加快寻找bug的过程。
步骤(windows下):
首先,打开代码文件。
其次,打开debugger:在交互的shell中,点击Debug菜单项,在弹出的菜单中点击Debugger,这时Debug control窗口就会弹出来了。将Source与Globals打上勾。在这个窗口中,可以找到自己需要的所有运行时信息。
然后,转到代码文件,按F5,运行。由于打开了debugger,程序会停到第一行。这时,就要用到Debug control窗口中左上角那5个按钮了。它们的意思分别为:
[plain] view
plaincopy
Go:以正常速度执行程序的剩余部分,直到结束或者遇到一个断点(break point)
Step:一次让程序执行一行代码,如果当前行是一个函数调用,则debugger会跳进这个函数里面。
Over:一次让程序执行一行代码,如果当前行是一个函数调用,则debugger不会跳进这个函数,而会直接得到其运行结果,并移动到下一行。
Out:当debugger已进入某一个函数调用的时候,可以直接跳出这个函数;当未进入函数调用的时候(即在主程序中),则与Go作用相同。
Quit:直接结束程序。
对于每一种debugger,设置Break point的功能都是必不可少的。在Python中,通过在代码文件中的某一行点右键可以对这一行添加断点或者取消断点。断点设置成功后,这一行会被变成黄色的高亮。断点配合Go命令,可以加快debug的过程。
相关文章推荐
- pdb — The Python Debugger(Python调试器)
- Python学习笔记--调试器debugger
- Python程序debug出错 pydev debugger: starting
- [Dynamic Language] Python Debugger pdb
- Qt creator 调试器未设置 unkown debugger type
- 开源小小调试器-MiniDebugger
- C学习笔记 - 3、调试器(Debugger)
- Windows用户级调试器(debugger)编写框架
- [zz]Python 使用IDLE的调试器
- Python调试器的设计思路
- 利用Win32 Debug API打造自己的调试器Debugger
- IDEA 中使用自带Python插件Debug模式启动出现 “pydev debugger: process 7592 is connecting” 错误
- python自带的调试器
- Visual Studio 2005 Remote Debugger 远程调试器 注意事项
- Python Editor and Debugger on Windows
- Python的调试框架bdb及调试器Pdb
- IDEA Unable to open debugger port (IDEA不能打开调试器)
- Python 调试器入门
- Qt-配置调试器 None of the debugger engines
- The python debugger(PDB)的简介