您的位置:首页 > 编程语言 > Python开发

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的过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: