pycharm进行调试[转载]

转自:https://blog.csdn.net/william_hehe/article/details/80898031

1.首先设置断点。

2.Step into(F7):进入

若函数A内存在子函数a时,会进入子函数a内执行单步调试。

如下图:

在第三个函数设置断点,内部有add和sub的子函数,执行到调用时会进入子函数,进入之后会再次返回到调用点。

3.Step over(F8):单步

若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。如下图:

over就是从表面上过去,执行但不会进入函数。如上图,在#6和#7时不会进入子函数。

再给一个例子讲解这两个,是比较常用的:

样例程序
01    def helloworld():
02        print 'hello world'
03    a=1
04    b=2
05    c=3
06    for  i in range(1,3):
07        print 'i',i
08    a=1
09    b=2
10    c=3
11    helloworld()
12    a=1
13    b=2
14    c=3

  

4.step out(shift+F8):

当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。

 //这里存疑,如果你不执行后续代码直接跳出,那么还能得到函数返回结果吗?可以,试了一下,实际上会接着运行,只不过表面上跳过了。

def helloworld():
    print("Hello")
    print("World")
    a=5
    b=3
    print(a+b)
helloworld()

在函数调用点设置断点,并Step into,然后一次step over,到了print("World")这一句,点击step out,控制台输出:

Hello
World
8

证明,step out并不是终止被调用函数的执行,而是跳出子函数。

5.show execution point (F10)  显示当前所有断点 

6.run to cursor(Alt +F9) 直接跳到下一个断点

7.Resume Program :试了一下,应该是和跳到下一个断点一样的。

原文地址:https://www.cnblogs.com/BlueBlueSea/p/10179407.html